当前位置: 首页 > Linux

如何使用SSH免密码登录服务器并保持连接不间断

时间:2023-04-06 04:48:03 Linux

SSH免密码登录服务器Mac免密码SSH登录服务器,只需简单三步,无需记住账号密码,赶紧进入服务器测试H1dfsdfsf测试H2dfsdfsf测试H3dfsdfsf测试H4dfsdfsf测试H5dfsdfsf测试H6dfsdfsf第一步是生成密钥对。在当前用户下创建.ssh目录mkdir~/.ssh。使用命令ssh-keygen生成密钥对,在~/.ssh目录下会生成公钥/私钥id_rsa//私钥id_rsa.pub//公钥第二步上传公钥使用命令ssh-copy-iduser@hostname如:ssh-copy-idadmin@192.168.1.55输入密码,运行成功查看server~/.ssh/authorized_keys,可以看到本地publickey已经写入authorized_keys文件,运行命令sshuser@hostname,可以免密码直接登录服务器。~/.ssh/config通过vim编辑config,添加服务器配置信息HostiChochy//服务器别名Hostname192.168.1.55//服务器地址Useradmin//服务器用户Identityfile~/.ssh/id_rsa//服务器公钥对应本地Directly使用私钥运行命令sshiChochy可以免密码直接登录服务器。得用刀来解决。方案一:服务器配置1.连接SSHsshroot@192.168.0.12,编辑sshd_configvim/etc/ssh/sshd_config3,找到ClientAliveInterval,去掉前面的#,#服务器会每隔60秒给客户端发送一个保活包对于客户端,可以把这个值设置大一点ClientAliveInterval1204,找到ClientAliveCountMax,把前面的#去掉,#如果客户端没有响应服务器发送的请求,就会判断超时一次,这个参数表示允许的超时次数。这个值可以设置大一些。ClientAliveCountMax7205。执行systemctlrestartsshd。第一句意思是服务端每隔120s会发送一个空数据包给客户端。第二句表示服务器最多发送720次。120*720=24小时24小时不连接如果断开,即使不操作也不会断开,根据自己的需要调整数值即可。方案二:客户端配置1.修改客户端设置,确保所有连接的服务器都使用这个设置vim~/.ssh/config2。添加以下3个,如果有则修改,否则添加,意思和服务器配置差不多,不再赘述。Host*TCPKeepAliveyes#Client每60秒向Server发送一次请求,然后Server响应,从而保持连接ServerAliveInterval60#Client发出请求后,Server不响应的次数达到3次,并且连接自动断开。一般情况下,Server不会响应ServerAliveCountMax3有文章说配置参数ServerAliveInterval就可以了。读者可自行验证。ServerAliveInterval我觉得60秒就够了,基本上所有要连接的机器都保留,所以配置*,如果需要针对某台机器,可以配置成需要的serverHostName。解决方案三:在连接SSH指定参数连接时将ServerAliveInterval的值设置大一些,这样就不会出现超时现象。sshroot@192.168.0.1-oServerAliveInterval=99999综上所述,我更倾向于第二种方案,因为只要配置好客户端,无论连接哪个服务器,都不用担心。必须配置每个服务器。让我们看看每个人的喜好和场景。