TeraTermからの公開鍵認証によるSSH接続を行いました。
基本的にはこれ↓と同じでした。
https://normalblog.net/system/lolipop/lolipop_ssh_teraterm_auto_macro/
注意点としては、公開鍵をSCP転送する際にこちらで作成したユーザでTeraTermログインを行っておく事です。
この時rootでログインして公開鍵をSCP転送するとroot用の鍵になるようです。(実感として)
そうなってしまうと↓の方で設定するrootログイン不可&パスワード認証付加でユーザでもrootでもTeraTermからログインできなくなってしまいます。「認証に失敗しました。再試行してください」となりました。
先ほども言いましたが、あとは基本的にロリポップの時と同じです。
今回のconfigファイルの場所は以下です。
1 |
# vi /etc/ssh/sshd_config |
編集内容は以下の3点ですが全部コメント(#)になっているので外す&編集します。
ルートログインとパスワード認証が出来なくなります。↑の現象でログイン出来なくなってしまった時は、さくらVPSのコントロールパネルからログインしました。
1 2 3 |
Port 任意ポート番号 PermitRootLogin no PasswordAuthentication no |
SSHリロードします。
1 |
#/etc/rc.d/init.d/sshd reload |
これで公開鍵認証によるSSH接続が出来ました。
TeraTermのマクロを使ってダブルクリックで行いたいので、ロリポップの時と同じようにマクロを作りました。
追記
気付いたらロリポップと同じように生成したマクロが動かなかったのでプロパティなど見直したり、再設定してみたのですがわからず、結局マクロのフォーマットを以下の参考サイト様に習って設定したところ動きました。
最終的にさくらVPS用のTeraTermのマクロフォーマットはこのような形になりました。
[php]
hostname = ‘[サーバIP]:[ポート番号]’
username = ‘[ユーザ名]’
KEY_FILE = ‘[ローカル秘密鍵パス]’
passwdfile = ‘[ローカルパスワードファイルパス]’
getpassword passwdfile username userpasswd
filesearch KEY_FILE
if result = 0 then
sprintf ‘Private key not found!’
error_msg = inputstr
messagebox error_msg ‘error’
exit
else
sprintf ‘%s /ssh /2 /auth=publickey /user=%s /passwd=%s /keyfile="%s"’ hostname username userpasswd KEY_FILE
connect_syntax = inputstr
connect connect_syntax
endif
[/php]
参考サイト様