0
これまでのところうまくいきます。これは既存のsshトンネルにsshセッションを生成します:SSHで期待通り
spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o {ProxyCommand=nc -X 5 -x localhost:8888 %h %p} "$user_ip"
$user_ip
は[email protected]
のような問題が時々、ポート8888が別のSSHトンネルで使用されていることであり、これが起こるたびに、私が持っている、ユーザ名と送信先IPを持っていますコードを調整してトンネルポートを変更します。
私は変数にポートを送信しようとしていますが、コードに常に触れないようにしています。 として、私は、コマンドラインからトンネルポートを取得しています:私はproxy_port
変数が正しく設定されていることがわかりますが、スクリプトは、SSHを起動しようとすると、私が取得
set proxy_port [lindex $argv 2]
、その後
spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o {ProxyCommand=nc -X 5 -x localhost:"$proxy_port" %h %p} "$conn"
:
spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o {ProxyCommand=nc -X 5 -x localhost:8888 %h %p} [email protected]
command-line line 0: garbage at end of line; "-o".
send: spawn id exp5 not open
while executing
"send "$pwd\r""
(file "./amm-qev.new.exp" line 36)
上記のエラーでは、ポートが正しく置換されていることがわかりましたが、ssh構文について不平を言います。
私の弱い目が引っ掛かっていないのは何ですか?
スタックオーバーフローは、プログラミングおよび開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。また、[Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww
@jwwしかし、 "Stack Overflowはプログラミングと開発の問題のサイトです" _ "それはプログラミングや開発についてではない"ということに全く同意しない。問題は、** expect **スクリプト言語でプログラミングしている間の問題です。**多くの場合、** Stack Overflow **に掲載されています。 – Renato