2

プロキシを使用して SSH トンネルの SSH ログインを自動化しようとしています。

  1. ssh-copy-idソリューションを使用したくない
  2. 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
    
  3. hereExpectで説明されているスクリプトを試しましたが、成功しませんでした。私は期待するのが初めてで、複雑な例が見つからなかったため、正しい引用エスケープを理解できませんでした。これは私が運がなかったものです(および引用符の他のいくつかのバリエーション):spawn

    spawn ssh -fN -o StrictHostKeyChecking=no \
      "-o ProxyCommand=\"nc -x localhost:8888 %h %p\"" \
      -R *:$rport:$localhostname:$nport $username@$hostname
    

誰かが私を助けることができますか?ありがとうございました。

4

1 に答える 1

3

期待を使用するには:

spawn ssh -fN -o StrictHostKeyChecking=no \
    -o "ProxyCommand=nc -x localhost:8888 %h %p" \
    -R *:$rport:$localhostname:$nport \
    $username@$hostname
于 2015-02-22T15:51:53.883 に答える