(1) avahi-daemonのインストール
Avahi(アバヒ) は hostname.local という名前を使ってローカルでホスト名を解決する機能でありこれををラズパイ側にインストールする。
# apt-get install avahi-daemon # apt-get install avahi-utils #おまけ avahi-resolve使いたいときavahiが起動していることの確認
# ps ax|grep avahi|grep -v grep 368 ? Ss 2:01 avahi-daemon: running [rapiz.local] 380 ? S 0:00 avahi-daemon: chroot helper
(2) Bonjourのインストール
Bonjour印刷サービスをWindows10側にインストールする。
ダウンロード - Bonjour Print Services (Windows) - Apple Support
https://support.apple.com/kb/DL999?viewlocale=ja_JP
からダウンロードして、
Downloads/BonjourPSSetup.exe をクリックして、
「ようこそ Bonjour印刷サービス」の画面に従ってインストールを完了させる。
但し、AppleのiTunesをすでにインストールしている場合やWindows10であれば、Bonjour機能はインストールされている可能性があり、先にpingしてみよう。
C:\Users>ping rapiz.local ping 要求ではホスト rapiz.local が見つかりませんでした。ホスト名を確認してもう一度実行してください。 ### pingが通らないか、 C:\Users>ping rapiz.local rapiz.local [192.168.1.80]に ping を送信しています 32 バイトのデータ: 192.168.1.80 からの応答: バイト数 =32 時間 =12ms TTL=64 192.168.1.80 からの応答: バイト数 =32 時間 =11ms TTL=64 192.168.1.80 からの応答: バイト数 =32 時間 =10ms TTL=64 ### pingが通ればBonjourはインストールされているだろう。
(3) ttlマクロファイルの編集
ttlマクロファイルの雛形が、
c:/Program Files (x86)/teraterm/ssh2login.ttlにあるので、これをデスクトップにコピーして、例えばssh2rapiz.ttl にリネームする。
c:/Users/Default/Desktop/ssh2rapiz.ttl を以下のように変更修正する。
*** c:/Program Files (x86)/teraterm/ssh2login.ttl --- c:/Users/Default/Desktop/ssh2rapiz.ttl @@ -6,19 +6,19 @@ ; Update: 2004/12/4 ; Author: Yutaka Hirata -username = 'nike' -hostname = '192.168.1.3' +username = 'pi' +hostname = 'rapiz.local' +passwdfile = 'c:¥Program Files (x86)¥teraterm¥passwd_pi.dat' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -msg = 'Enter password for user ' -strconcat msg username -passwordbox msg 'Get password' +getpassword passwdfile username userpasswd msg = hostname strconcat msg ':22 /ssh /auth=password /user=' strconcat msg username strconcat msg ' /passwd=' +strconcat msg userpasswd strconcat msg inputstr connect msgもし、ssh2rapiz.ttl が以下のような[M]マークアイコンになっていなければ、
teraterm-4.95.exeを再インストールして、
チェック項目の.ttlファイルをttermpro.exeに関連付ける
piユーザのパスワードは passwdfile = 'c:¥Program Files (x86)¥teraterm¥passwd_pi.dat' に保存される。このファイルが無ければパスワード入力されファイル作成され、ファイルがあればパスワードが読み出してデコードされて自動ログインのパスワードとして使用される。
bash-4.1$ cat "/cygdrive/c/Program Files (x86)/teraterm/passwd_pi.dat" [Password] pi=XXXXYYYYZZZZAAAABB #エンコードされた文字列たぶんHackingすればデコードできるんだろう。平文よりはヨシとする。
(4) ttlマクロの実行
ssh2rapiz.ttlのクリックで、TeraTerm自動ログインできる。
ログイン後の画面で、rapiz.localでの、IPアドレスの正引きと逆引きをしているようす。
pi@rapiz:~ $ ifconfig wlan0|grep "inet addr:" inet addr:192.168.1.80 Bcast:192.168.1.255 Mask:255.255.255.0 pi@rapiz:~ $ pi@rapiz:~ $ ping -c 2 rapiz.local|head -3 PING rapiz.local (192.168.1.80) 56(84) bytes of data. 64 bytes from rapiz.gjs.or.jp (192.168.1.80): icmp_seq=1 ttl=64 time=0.178 ms 64 bytes from rapiz.gjs.or.jp (192.168.1.80): icmp_seq=2 ttl=64 time=0.178 ms pi@rapiz:~ $ pi@rapiz:~ $ avahi-resolve -n rapiz.local rapiz.local 192.168.1.80 pi@rapiz:~ $ pi@rapiz:~ $ avahi-resolve -a 192.168.1.80 192.168.1.80 rapiz.local pi@rapiz:~ $これで、ネットワークの場所を移動するたびに、FingでラズパイのIPアドレスを調べて、TeraTerm起動しIPアドレスや、ユーザパスワードを入力していた手間が省ける。アイコンのクリック一発でログインできて、とても便利になるはずだ。
<20180127_補足追加:TeraTermのsshログイン時にログを記録版>
; $Id: sshLOG_rapi4.ttl,v 1.00 2018/01/23 13:19:50 RDH_team $ ; sample macro of Tera Term ; ; File: ssh2login.ttl ; Description: auto login with SSH2 protocol ; Environment: generic ; Update: 2004/12/4 ; Author: Yutaka Hirata ; ; (参照したURL) ; 1.マクロサンプル - 自動ログイン(SSH版)Add Star (2012.12.30) ; http://d.hatena.ne.jp/KuroNeko666/20121230/1356931071 ; 2.TeraTermマクロ-MACROで設定する自動ログ取得 (2011/04/25) ; http://www.j-oosk.com/teraterm/logging/254/ hostnam1 = 'rapi4' hostnam2 = '.local' hostname = hostnam1 strconcat hostname hostnam2 username = 'myname' basedir = 'c:\Usr\TT_LOG\' passwdfile = basedir strconcat passwdfile 'passwd_rapi4_myname.dat' ;; ログ保存先指定 LOGSPATH = basedir ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; getpassword passwdfile username userpasswd msg = hostname strconcat msg ':22 /ssh /auth=password /user=' strconcat msg username strconcat msg ' /passwd=' strconcat msg userpasswd strconcat msg inputstr ;; ⑤ログファイル名の設定 getdate LOG_NAME '_%Y%m%d_%H%M.txt' FULLPATH = LOGSPATH strconcat FULLPATH hostnam1 strconcat FULLPATH LOG_NAME ;; ⑥接続 connect msg ;; ⑦接続判定1(接続出来ない場合はメッセージを表示しマクロ終了) if result <> 2 then ERR_MESS = 'Cannot HOST ' strconcat ERR_MESS hostname messagebox ERR_MESS 'Connection Error' end endif ;; ⑧接続判定2(接続して3秒以内にプロンプトが表示されない場合もマクロ終了) timeout = 3 wait '$ ' '% ' '# ' if result = 0 then ERR_MESS = 'NoResponse HOST ' strconcat ERR_MESS hostname messagebox ERR_MESS 'Connection Error' end endif ;; ⑨ログ取得開始 logopen FULLPATH 0 1 if result then messagebox FULLPATH 'logopen Error' end endif logwrite 'Log start ' logwrite FULLPATH logwrite #13#10 logwrite '*****************************************************'#13#10 ;logclose ;; ⑩ホスト名表示 ;sendln 'hostname' ;wait '$' '#' ;; ⑪マクロ終了 ;end
0 件のコメント:
コメントを投稿