コマンドを使用してリモート SSH サーバーに接続するための設定を作成しようとしていますssh <server short name>
。これを次のように入力します~/.ssh/config
。
Host <server short name> <server full name>
Host <server full name>
User <my username on the remote server>
Port 22022
ForwardAgent yes
ForwardX11 yes
接続するには
$ ssh <server full name>
しかし、コマンドでは失敗する
$ ssh <server short name>
ssh: Could not resolve hostname <server short name>: Name or service not known
スペルを何度か確認しましたが、間違いは見つかりませんでした。2 番目のコマンドが失敗する理由について何か考えはありますか?
答え1
Host
は SSH オプションとは異なります。インデント レベルに関係なく、常に新しいセクションが開始されます。したがって、2 つの構成セクションがあります。1 つは に一致する空のセクション<shortname> <fullname>
、もう 1 つは にのみ一致するセクションです<fullname>
。
代わりに、2 行目は である必要がありますHostName <fullname>
。
答え2
を参照してくださいマニュアルページ
キーワードhost
は設定をグループ化するために使用され、ホストのエイリアスを定義したり、複数のホストを一度に設定したりするためにも使用できます。
次のシナリオを考えてみましょう: 職場に dev.example.com と test.example.com という 2 つのサーバーがあり、同じキー ペアと 2 番目のキー ペアを持つ github アカウントを使用しています。次の構成を設定できます。
host *.example.com
identityfile ~/.ssh/work-key
user bob
Port 22022
ForwardAgent yes
ForwardX11 yes
host github.com
identityfile ~/.ssh/github-key
host dev
hostname dev.example.com
host test
hostname test.example.com
そして、接続には次のようなものを使用します。
ssh dev