Answers:
跑
ssh -o "ExitOnForwardFailure yes" ...
或放
ExitOnForwardFailure yes
进入~/.ssh/config
。有关详细信息,请参见ssh_config(1)
使用man
。
bind_address
则ssh可能仍然不会失败。例如,如果另一个用户已经在ipv6本地主机上侦听,[::1]:3690
则ssh可以仅绑定ipv4,127.0.0.1:3690
而不会抱怨。但是您的svn客户端可能更喜欢(攻击者的)ipv6套接字。为了安全起见,请更好地使用-R [::1]:3690:localhost:3690 -R 127.0.0.1:3690:localhost:3690
我在目标主机上使用bash脚本来确保正确打开了转发。如果端口转发出现问题,则SSH连接将运行此连接并退出
客户端脚本:(此命令使用.ssh / config进行端口转发设置)
#!/bin/bash
while true; do
echo -n starting at : "
date
ssh user@server bin/sshloop.sh
echo "got back, sleeping 17 "
sleep 17
done
服务器端脚本(bin / sshloop.sh)
#!/bin/bash
while true; do
echo $(date)" : SSH Reverse 1090:80, 1232:22 From Server to Client"
sleep 17
if ! netstat -an | grep -q ":::1090 " ; then
echo "1090 forward missing, bailing out"
exit
fi
done
甚至可以在屏幕上使用-dmS运行客户端脚本