连接Linux的服务器时使用SSH密钥认证及解决自动断连问题
A机器(ssh连接发起端,即客户端):添加一个测试用户aaa
代码如下:
su成aaa
代码如下:
ssh-keygen创建rsa密钥对
代码如下:
Generating public/private rsa key pair.Enter file in which to save the key (/home/aaa/.ssh/id_rsa): 密钥文件的保存位置Created directory \’/home/aaa/.ssh\’. 默认的密钥文件存放目录Enter passphrase (empty for no passphrase): 密钥文件的保护密码Enter same passphrase again:Your identification has been saved in /home/aaa/.ssh/id_rsa. 生成的私钥Your public key has been saved in /home/aaa/.ssh/id_rsa.pub. 生成的公钥The key fingerprint is:81:d7:de:e7:cb:7c:4e:16:d6:76:da:9d:30:25:76:09 aaa@A.test.com
代码如下:
total 32Kdrwx—— 3 aaa aaa 4.0K Sep 17 16:09 .drwxr-xr-x 4 root root 4.0K Sep 17 16:09 ..-rw-r–r– 1 aaa aaa 304 Sep 17 16:09 .bash_logout-rw-r–r– 1 aaa aaa 191 Sep 17 16:09 .bash_profile-rw-r–r– 1 aaa aaa 124 Sep 17 16:09 .bashrc-rw-r–r– 1 aaa aaa 383 Sep 17 16:09 .emacsdrwx—— 2 aaa aaa 4.0K Sep 17 16:09 .ssh 创建出的.ssh目录默认权限为700注意生成的私钥文件的默认权限是rw——-,即600(确保他人不能查看)
代码如下:
total 16Kdrwx—— 2 aaa aaa 4.0K Sep 17 16:09 .drwx—— 3 aaa aaa 4.0K Sep 17 16:09 ..-rw——- 1 aaa aaa 951 Sep 17 16:09 id_rsa 私钥文件-rw-r–r– 1 aaa aaa 231 Sep 17 16:09 id_rsa.pub 公钥文件
B机器(ssh的被连接端,即服务端):添加bbb用户
代码如下:
su成bbb
代码如下:
手工在家目录下建立.ssh目录(如果不使用ssh-keygen工具的话)
代码如下:
total 28drwx—— 3 bbb bbb 4096 Sep 17 16:52 .drwxr-xr-x 4 root root 4096 Sep 17 16:52 ..-rw-r–r– 1 bbb bbb 304 Sep 17 16:52 .bash_logout-rw-r–r– 1 bbb bbb 191 Sep 17 16:52 .bash_profile-rw-r–r– 1 bbb bbb 124 Sep 17 16:52 .bashrcdrwxrwxr-x 2 bbb bbb 4096 Sep 17 16:52 .ssh修改.ssh目录的权限为700(非常重要!)
代码如下:
total 28drwx—— 3 bbb bbb 4096 Sep 17 16:52 .drwxr-xr-x 4 root root 4096 Sep 17 16:52 ..-rw-r–r– 1 bbb bbb 304 Sep 17 16:52 .bash_logout-rw-r–r– 1 bbb bbb 191 Sep 17 16:52 .bash_profile-rw-r–r– 1 bbb bbb 124 Sep 17 16:52 .bashrcdrwx—— 2 bbb bbb 4096 Sep 17 16:52 .ssh 确认权限为700在.ssh目录里创建authorized_keys文件,并将A机器上aaa用户的公钥(id_rsa.pub)内容写入此文件(关键操作!)
代码如下:
粘贴aaa的id_rsa.pub内容进来修改authorized_keys的权限为400(非常重要!)
代码如下:
配置结束。
测试:从A机器上,在aaa用户下,使用bbb帐号登录B机器。
代码如下:
安全的关键点在于如何安全地将id_rsa.pub的内容传递到服务端测试完毕,清理系统(删除测试用户帐号及其家目录)A机器上,exit到root下
代码如下:
B机器上,exit到root下
代码如下:
PS:SSH连接自动断开问题的解决用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦.在网上查了很多资料, 发现原因有多种, 环境变量TMOUT引起,ClientAliveCountMax和ClientAliveInterval设置问题或者甚至是防火墙的设置问题. 所以可以这么尝试:1, echo $TMOUT如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.Definition: TMOUT: If set to a value greater than zero, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if input does not arrive.
2. ClientAliveInterval 60在/etc/ssh/sshd_config中增加ClientAliveInterval 60, ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动.另外,至于ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下, 客户端不会不响应.3. 启用putty keepalive
代码如下:
4.SecureCRT设置反空闲
代码如下:
每隔几秒发送空字符串 保持链接不断开
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 连接Linux的服务器时使用SSH密钥认证及解决自动断连问题
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html