前言
使用ssh进行连接的时候老是会碰到一些问题反复出现,所以就记录下.
问题汇总
客户端ssh连接服务器会断开
发生这个问题的原因是服务器和客户端之间一段时间没交互之后会自动断开,以节省资源.有三种方法进行解决:
配置服务端的
/etc/ssh/sshd_config
文件,增加以下内容#服务端每隔60秒发送一次请求给客户端,然后client响应,从而保持连接 ClientAliveInterval 60 #客户端没有响应超过3次,服务端就断开连接,正常情况下客户端不会不响应 ClientAliveCountMax 3
最后再重启服务
systemctl restart sshd
使用该方法对任何客户端都会保持持久连接,我并不推荐使用
修改客户端的
/etc/ssh/ssh_config
,添加如下内容客户端每个60秒发送一次请求给server,然后server响应,保持连接
ServerAliveInterval 60
客户端发送请求后,服务端超过3次没响应就断开连接,正常情况不会不响应
ServerAliveCountMax 3
使用该方法server只会对指定客户端进行持久连接,我自己就是用这个方法
注意:我是windows下面的
git-bash
,它下面有这个路径的文件/etc/ssh/ssh_config
每次连接时输入参数
ssh -o ServerAliveInterval=60 <用户名>@
使用该方法只对这次连接进行持久化
ssh实现无密码登陆
ssh的无密码登陆不但方便,而且有更高的安全性,所以我推荐一定要使用这种方式
本地创建公匙和密匙
ssh-keygen -t 'rsa'(www.hedaoshe.com)
生成后的路径是: 2. 把本地公匙拷贝到服务器端
ssh-copy-id -i 'C:\Users\球童\.ssh\id_rsa.pub' root@<服务器IP>
参数解释:
-i
就是install
安装的意思