【SSH】连接远程服务器频繁断连问题

最近训练模型的算力要求不断增加,但是实验室已经放不下没钱买新的GPU了,于是目光瞄向算力市场。AutoDL的平价GPU真难抢啊,好不容易抢到,花了两天部署好开始运行,却发现它频繁断连。这个断连现象还很鸡贼,要么就几分钟断连一次,要么假装工作1小时后给你断掉。SSH一旦断连,本地的VSCode无法联系到远端,远端的GPU就开始摸鱼(看实例监控发现的),GPU计费还不停止。真是气死了,100块的算力效果直接砍掉一大半,总有什么办法解决这个吧?

配置~/.ssh/config文件

这篇文章讲的是修改SSH连接配置的问题,于是我在远端的config文件下加入了这段参数:

Host *         
        # 每隔5秒自动发送一个空的请求以保持连接         
        ServerAliveInterval 60

但没解决问题,也许是应该在两端的服务器添加这些配置:

Host *         
         # 断开时重试连接的次数         
        ServerAliveCountMax 5  
        # 每隔5秒自动发送一个空的请求以保持连接         
        ServerAliveInterval 60

没办法的朋友可以试试。

使用Git的SSH

根据这篇文章更改了系统环境变量后,本地用的SSH客户端确实改变了,但是重启SSH终端后,依然断连。

VSCode vscode-server版本问题

这篇文章说的是两端服务器上的VSCode版本不一致的问题,我查看了VSCode的Remote插件的输出窗口,远端似乎没在下VSCode server,并且我重装VSCode后也没解决问题。

解决:使用SSH密钥认证

ChatGPT告诉我可以用SSH密钥认证,虽然每次换服务器的时候都需要设置一遍密钥认证,但至少不会断连了……

  1. 生成 SSH 密钥对:
    使用以下命令生成 SSH 密钥对(如果尚未生成):
    ssh-keygen -t rsa -b 4096
    键入上述命令后,命令行会如上提示
    此时命令行就会提示你输入密钥的名称,以及认证口令。如果你对安全要求不高,可以将口令设置为空,这样就可以像我一样免密码登录。口令非空的情况下,是否可以实现免密登录,我还没试过。
    由此将在.ssh 文件夹中生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。
  2. 使用命令cat ~/.ssh/id_rsa.pub就可以获取刚刚创建的公钥了:
    刚刚创建的公钥
  3. 将公钥添加到远程服务器:
    接下来将公钥内容添加到远程服务器上的~/.ssh/authorized_keys文件中,如果不存在该文件,可以手动创建。如图所示:
    文件authorized_keys的内容

现在就可以实现输入ssh命令的免密登录了,再也不用守着VSCode的密码输出框了!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值