SSHエージェントコマンドエラー

SSHエージェントコマンドエラー

SSHプロキシコマンドが機能しない理由を理解しようとしています。次のように、カスタムの場所にSSH設定ファイルがあります。

vagrant@ansible:~$ cat ~/.ssh/cml-config
Host mgmt-lxc
  HostName 10.17.238.146
  IdentityFile ~/.ssh/id_rsa
  User Rod

Host 10.255.0.*
  ProxyCommand ssh -W %h:%p mgmt-lxc
vagrant@ansible:~$

ジャンプホストにSSHで接続し、そこから他のデバイスに接続できます。

vagrant@ansible:~$ ssh -F ~/.ssh/cml-config mgmt-lxc
Rod@mgmt-8Fe5bN$ ssh [email protected]
Warning: Permanently added '10.255.0.47' (RSA) to the list of known hosts.

            ,,,,,
            /'''\
           ( o o )
      -oOOO--(_)--OOOo-------------------------------------------
       Router: Core-1
                      Secured system for authorized users only.
       .oooO          Unauthorized access is strictly prohibited.
        (   )   Oooo. All activities may be logged and monitored.
      ---\ (----(   )--------------------------------------------
          \_)    ) /
                (_/
Password:

ただし、カスタムSSHキーを使用して10.255.0.47に直接SSHを試みると、エラーが発生します。

vagrant@ansible:~$ ssh -F ~/.ssh/cml-config [email protected]
ssh: Could not resolve hostname mgmt-lxc: Name or service not known
ssh_exchange_identification: Connection closed by remote host
vagrant@ansible:~$

私はUbuntu Xenial64を実行しています。

ベストアンサー1

-F /the/path/to/.ssh/cml-configasとして使用されているssh -Wコマンドを追加しますProxyCommand(そのパスがここで機能するかどうかわからないので、~一度試してみてください。フルパスを使用することもできます)。

それ以外の場合は、ssh対話型コマンドが実行されますが、実際の名前解決ではなく、構成ファイルで使用された別名であることをssh -W ... mgmt-lxc確認するために読み取る必要がある構成ファイルがないためです。mgmt-lxc

または、IPv4mgmt-lxcアドレス/etc/hostsまたはそれに対応するアドレスを追加してください10.17.238.146

あるいは、.ssh/configデフォルトですべてを入力すると、使い方が簡単になります。

おすすめ記事