我正在尝试使用代理自动执行SSH隧道的SSH登录:
ssh-copy-id
解决方案sshpass
选项时, ProxyCommand
正常工作但>> 选项集(写入失败。管道损坏)。 ssh隧道本身效果很好和该选项,要求我输入密码。还尝试在~/.ssh/ssh_config
中设置选项而没有解决方案。这是oneliner:
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
有人可以帮助我吗?谢谢。
答案 0 :(得分:3)
使用expect:
spawn ssh -fN -o StrictHostKeyChecking=no \
-o "ProxyCommand=nc -x localhost:8888 %h %p" \
-R *:$rport:$localhostname:$nport \
$username@$hostname