SSHの公開鍵認証

■鍵作成
以下3種類のうちからクライアントの対応状況などで選択。
安全度 SSH Ver.1 RSA < SSH Ver.2 RSA < SSH Ver.2 DSA らしい。

SSH Ver.1 RSA
ssh-keygen -t rsa1

SSH Ver.2 RSA
ssh-keygen -t rsa

SSH Ver.2 DSA
ssh-keygen -t dsa

クライアントUTF-TeraTerm ProはDSAに対応してるので、DSAを例とする。

※鍵を使用するユーザーで作業
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/******/.ssh/id_dsa):
※そのままenterでディフォルトのファイル保存先
Enter passphrase (empty for no passphrase):[パスフレーズ]
Enter same passphrase again:[パスフレーズ]

id_dsa(秘密鍵)
id_dsa.pub(公開鍵)
が生成される。

$ mv id_dsa.pub authorized_keys
$ chmod 600 authorized_keys
などとしてファイル名とパーミッション変更

■クライアントへ鍵導入
id_dsaをなにかでコピーしてTeraTermがインストールされてるディレクトリへ配置して、ログイン時使用する。
※ここで、実際ログインできることを確認しておく。

■SSHのユーザ認証を変更
sshd_confに下記を追記。
PasswordAuthentication no
# /etc/rc.d/init.d/sshd restart
などで再起動

以上で完了。

=======================================
以下はクライアントマクロファイルの例

■マクロファイル作成
(マクロ言語補足)
connect: 接続
strconcat: 変数に文字列付けたし
wait: Hostからの受信待ち
sendln: Clientから送信

(以下記述例)
;各種値設定
Host = ‘host_name’
User1 = ‘user_name’
Password1 = ‘password’
Ini = ‘TERATERM.INI’
KeyFile = ‘keyfile’;
Prompt1 = ‘$’
PromptPW = ‘Password:’
Df = ‘df’

;接続コマンド作成
;Iniはなくてもよい。
;Hostごとにマクロを複数作るときなど
;マクロごとに背景色の違うTERATERM.INIを指定し、区別するといいかも
;/2のところはssh2が使えなければ/1とする
Cmd = ”
strconcat Cmd Host
strconcat Cmd ‘ /ssh /2 /auth=publickey’
strconcat Cmd ‘ /user=’
strconcat Cmd User1
strconcat Cmd ‘ /passwd=’
strconcat Cmd Password1
strconcat Cmd ‘ /keyfile=’
strconcat Cmd KeyFile
strconcat Cmd ‘ /f=’
strconcat Cmd Ini
;接続
connect Cmd

;対話的処理スタート(dfコマンド発行)
wait Prompt1
sendln Df

※このマクロファイルをttpmacro.exeと同じフォルダにfilename.ttlなどとして保存する。

■マクロショートカットへ関連付け
ttpmacro.exeのショートカットをどこかに作る
プロパティのリンク先に
引数としてマクロファイル名を記述
(記述例)
“C:\Program Files\teraterm\ttpmacro.exe” “filename.ttl”

※鍵を使わない場合のマクロはこちら