sshpass不';t使用SSH ProxyCommand选项
我正在尝试使用代理自动登录SSH隧道:sshpass不';t使用SSH ProxyCommand选项,ssh,expect,sshpass,Ssh,Expect,Sshpass,我正在尝试使用代理自动登录SSH隧道: 我不想使用ssh拷贝id解决方案 sshpass在我设置ssh隧道时,如果不使用ProxyCommand选项,它将正常工作,但如果使用选项集(写入失败。管道断开)。ssh隧道本身使用该选项(询问我密码)运行良好。还尝试在~/.ssh/ssh\u config中设置该选项,但没有解决方案。以下是oneliner: sshpass -p $mypass ssh -fN -o StrictHostKeyChecking=no \ -o ProxyComman
ssh拷贝id
解决方案sshpass
在我设置ssh隧道时,如果不使用ProxyCommand
选项,它将正常工作,但如果使用选项集(写入失败。管道断开)。ssh隧道本身使用该选项(询问我密码)运行良好。还尝试在~/.ssh/ssh\u config
中设置该选项,但没有解决方案。以下是oneliner:
sshpass -p $mypass ssh -fN -o StrictHostKeyChecking=no \
-o ProxyCommand="nc -x localhost:8888 %h %p" -R \
*:$rport:$localhostname:$nport $username@$hostname
Expect
脚本,但没有成功。我是新手,无法找到正确的引号转义,因为我找不到复杂的spawn
示例。以下是我在没有运气的情况下尝试的内容(以及其他一些引语的变体):
spawn ssh -fN -o StrictHostKeyChecking=no \
-o "ProxyCommand=nc -x localhost:8888 %h %p" \
-R *:$rport:$localhostname:$nport \
$username@$hostname
它起作用了!不过我还有一个问题;当我查看sshd日志时,我看到密码已被接受,连接随即打开和关闭(因此隧道未建立)。如果删除“close$spawn_id”行,我将无法再看到接受的密码日志。你知道为什么会议这么快就结束了吗?
spawn ssh -fN -o StrictHostKeyChecking=no \
-o "ProxyCommand=nc -x localhost:8888 %h %p" \
-R *:$rport:$localhostname:$nport \
$username@$hostname