プロキシを使用して SSH トンネルの SSH ログインを自動化しようとしています。
ssh-copy-id
ソリューションを使用したくないsshpass
オプションなし で ssh トンネルを設定すると正しく動作しますが、オプション セットでは動作しProxyCommand
ません(書き込みに失敗しました。パイプが壊れています)。ssh トンネル自体は、このオプションで適切に機能し、パスワードを要求します。また、解決策なしでオプションを設定しようとしました。これがワンライナーです:~/.ssh/ssh_config
sshpass -p $mypass ssh -fN -o StrictHostKeyChecking=no \ -o ProxyCommand="nc -x localhost:8888 %h %p" -R \ *:$rport:$localhostname:$nport $username@$hostname
here
Expect
で説明されているスクリプトを試しましたが、成功しませんでした。私は期待するのが初めてで、複雑な例が見つからなかったため、正しい引用エスケープを理解できませんでした。これは私が運がなかったものです(および引用符の他のいくつかのバリエーション):spawn
spawn ssh -fN -o StrictHostKeyChecking=no \ "-o ProxyCommand=\"nc -x localhost:8888 %h %p\"" \ -R *:$rport:$localhostname:$nport $username@$hostname
誰かが私を助けることができますか?ありがとうございました。