2020年7月15日水曜日

sshの設定ファイル

いつの頃からかリモートやバーチャルマシンへのログインはssh、
ファイル転送はsftp、というのが世間の常識となりました。
ftpはanonymousで使うこともあるのでまだ見ることがありますが、
さすがにtelnetを使うなんてことはありませんね。
いや、組み込み機器相手ならありえるか。

さて、私はsshクライアントはWindowsでもcygwin上のものを使います。
sshやsftpにフルで引数を手打ちするのが常です。
というのも、ポート番号が特殊だったりするときちんと覚えていないと
世界のどこからでもそらでログインできなくなってしまうので。
とはいえ秘密鍵を持ち歩いているわけでもなく、
他人のちょっとだけ使うPCに自分の秘密鍵をコピーするのは躊躇しますし、
結局常に手打ちして記憶を活性化しておくのも無駄な努力です。
それよりはしょっちゅう打ち込む手間を省けた方がありがたい。

さて、sshには便利な機能があり、"~/.ssh/config"設定ファイルに
Host v
  HostName vps.example.com
  Port 10022
  User peach
  IdentityFile ~/.ssh/id_rsa_vps
なんて書いておくと
$ ssh v
だけでログインが可能になります。
$ ssh -p 10022 -i  ~/.ssh/id_rsa_vps peach@vps.example.com
と比べればかなりの省力化。お腹が減るのを防げるかも。
これがsftpともなれば、
$ sftp -o port=10022 -o identityfile=~/.ssh/id_rsa_vps peach@vps.example.com
$ sftp v
で済むんですから本当に楽。
って、さっき--help見て気がついたのですが、-oオプションを使わなくても
$ sftp -P 10022 -i ~/.ssh/id_rsa_vps peach@vps.example.com
でいいみたい。えっ、いつからそうなってたの?

0 件のコメント:

コメントを投稿