以前の記事でお伝えした通り、
マネージャ業中心でやっております。
また、お客様とのディレクションも並行してやっておりまして、たまにTeratermで閲覧系作業をするのが関の山な日々です。
画像は石垣島で食べたA&Wバーガーなのですが、沖縄以外にはないんですね。
(久々に食べたい)
さて、話を戻しまして
当社の負荷テストマニアの浅見がこちらの記事で少し触れていたのですが、
ssh_configの設定について、作業で非常に役に立ったので、残しておこうと思います。
やりたいこと
○お客様のサーバへのログイン時に、Teratermマクロを仕込んだ.ttlファイルを作成して、ログインしているが、初回ログインの警告メッセージが邪魔で、
1発目のログインに失敗するので、これを出ないようにしたい。
やったこと
非常に簡単です。
[接続元ホスト] --(SSH)--> [目的のホスト]
この接続の際に、接続元ホストの自身のユーザのホームディレクトリ配下にできる、.sshディレクトリ内にconfigというファイルを作成して、読み込ませるだけでOKです。
これは以前の記事であったように、Windows環境に作成した、mintty環境でも同じ事ができます。
$ vi ~/.ssh/config
Host *
StrictHostKeyChecking no
上記の2行を記載すればそれでOK!
パーミッション644ではだめで、600や400にしないとダメ。
$ chmod 600 ./config
これだけで(実施前)
$ ssh 192.168.100.100
The authenticity of host '192.168.100.100 (192.168.100.100)' can't be established.
ECDSA key fingerprint is 2a:8e:23:45:c6:fe:3e:7c:10:45:ab:67:81:a2:44:85.
Are you sure you want to continue connecting (yes/no)?
以下の通り出なくなる(実施後)
$ ssh 192.168.100.100
Warning: Permanently added '192.168.100.100' (ECDSA) to the list of known hosts.
hogeuser@192.168.100.100's password:
その他の設定を参考まで
この~/.ssh/configファイルの記法は、ssh_configの記法と同一なので、こちらの外部のサイトを参照してもらうのが良いですが、いくつか紹介。
入れたい設定を上記の『StrictHostKeyChecking no』の下行に入れる感じで、1行1設定で入れていけばそれぞれ有効になります。
○KnownHostsファイルに追記しない
UserKnownHostsFile=/dev/null
○ログイン時の秘密鍵を指定する
IdentityFile ~/.ssh/hogehoge.pem
(※)上記のhogehoge.pemは予め同ディレクトリに設定しておきましょう。
○目的のホストログインと同時にSSHポートフォワーディングを実行する
LocalForward 9999 192.168.100.200:19999
上記は、[接続元ホスト]のポートの9999へのアクセスが、192.168.100.200の19999ポートに転送される設定になります。
OpenSSHの設定はsshd_configがメインではありますが、便利にsshを使うには、ssh_configの設定を知ることが大事だと知るきっかけになった次第。
お読みいただきありがとうございました。
以上。