我有一个IoT设备我正在努力。我需要能够在现场进行可靠的SSH连接,因为如果我需要修改任何文件,我将无法进行物理访问。我有一个启动脚本,它使用以下行来打开SSH隧道:
sshpass -p 'XXXXXX' ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -fN -R 7000:localhost:22 user@server-address.com
这在打开隧道时是成功的,但是如果电源中断,我就不能在不改变端口号的情况下打开隧道。
以下是带有-vvv的输出:
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug3: no such identity: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug3: no such identity: /root/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
debug3: packet_send2: adding 48 (len 61 padlen 19 extra_pad 64)
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
我在英特尔爱迪生上运行Debian。
答案 0 :(得分:0)
我最终用胶带编码将其编码为提交,并且无限循环只是反复尝试。不知道为什么会这样,但我确定无法从这个网站上找到答案。
因为我的名声不够高,无法发表在元...
对于有这个问题的未来的人:每次我来到这里并就我的问题找到问题时,问题要么被投入地狱而没有答案,要么所有评论都只是意思。好像"为什么还要这样做"或者"重复" (当它显然不是)没有帮助。我试着自己提出问题,希望得到更好的回应,但没有得到。搞这个网站,Reddit更有帮助。
答案 1 :(得分:0)
看起来您的旧隧道仍然在端口22上使用连接,这就是为什么您无法再次建立连接。
您可以通过在sshd.conf文件中的服务器端提供SSH会话超时来解决此问题:
ServerAliveInterval 30
您需要确保设备启动时间超过此数字!
查看here了解更多详情。