前回記事
前回は一番オーソドックスなユーザ名・パスワードを指定してログインするマクロを作成しました。
今回はRSA認証(公開鍵認証)を用いたsshログインマクロを作成してみます。
前提条件
あらかじめログインするサーバ(SSHホスト)側にはSSHクライアントで作成した公開鍵が登録されているものとします。
RSA認証を用いてsshログイン
テキストエディタ等で次のコードを記載し、loginAuth.ttlとします。
loginAuth.ttl の中身
;==================================; 定数定義
USERNAME = 'xxxxxx'
; 接続サーバの選択
inputbox '接続サーバ名を入力して下さい。\n ※キャンセルは空白にしてOK\n' '接続サーバ入力' 1
varHostAddr = inputstr
; ファイルパスの設定
getdir varPassFile
strconcat varPassFile '\'
strconcat varPassFile 'pass.dat'
getdir varKeyFile
strconcat varKeyFile '\'
strconcat varKeyFile 'id_rsa'
; SSH認証のパスフレーズ取得
getpassword varPassFile 'SSHAUTH_PASS-PHRASE' varPassPhrase
; サーバsshログイン
varConnect = varHostAddr
strconcat varConnect ':22 /ssh /2 /auth=publickey /user='
strconcat varConnect USERNAME
strconcat varConnect ' /passwd='
strconcat varConnect varPassPhrase
strconcat varConnect ' /keyfile='
strconcat varConnect varKeyFile
connect varConnect
;==================================
※ xxxxxxの部分はログインユーザ名に書き換えてください。
マクロコード説明
- getpasswordコマンド
2回目以降は、pass.datファイルから自動的にパスワードを読み込んで処理しますので完全自動化となります。
'SSHAUTH_PASS-PHRASE'この部分は何でもよいです。パスワードファイルは複数のパスワードを記録できますのでそのラベル名となります。
次回は、SSH認証ファイルを利用した自動ログインし、さらにその先にあるサーバへのログインまでを自動化します。