Ssh接続を自動化するために、expectを使用してスクリプトを作成しました。これは問題なく機能します。ただし、このスクリプトをnautilusのサーバーへの接続機能で使用したいと思います。私の考えは、nautilusがそこで詳述されている接続を使用できるため、このexpectスクリプトを何らかの方法で.ssh/configファイルに含めることでしたが、方法がわかりません。残念ながら、RSAキーをサーバーにコピーできません。マルチホップ接続であり、最初のサーバーに書き込むことができません。この最初のサーバーは、パスワードと接続できるマシンのみを要求します。したがって、パスワードはnautilusからも提供される可能性があるため、実際には問題にはなりません。どんな助けでもありがたいです、ありがとう!
ssh_config
ではパスワードを使用できません。ただし、ポート転送を使用する場合があります(ジャンプボックスで許可されている場合)。
SSHPASS=password sshpass -e ssh -L 2222:remotehost:22 user@jumpbox
その後
ssh -p 2222 localhost
リモートホストに直接移動します。次のように、それをssh_config
に入れることができます。
Host remote-forwarded
Hostname localhost
Port 2222
次に、次のように接続します
ssh remote-forwarded
同様に、ノーチラスでも機能します。
この場合、それはより複雑になります。リモートホストから直接ポート転送を設定するには、proxyコマンドを使用する必要があります。設定が長くなります:
Host remote-forwarded
Hostname localhost
Port 2222
Host jumpbox
Hostname jumpbox-Host
Host remote
Hostname remote-Host
ProxyCommand ssh -W %h:%p jumpbox
LocalForward 2222 localhost:22
それ以外の場合は、最初に同じように機能するはずです
SSHPASS=password sshpass -e ssh remote
次に、他のホストに直接送信します。
ssh remote-forwarded