SSH实现免密码登录

来源:互联网 发布:游戏王灵兽使淘宝 编辑:程序博客网 时间:2024/05/16 09:04

创建时间: 2016-06-29
最近修改时间: 2016-06-29

因本人水平有限,文章中存在不足,错误之处,还望指正


在日常操作中,我们经常需要在远程linux主机中使用ssh进行操作。来回输入用户名,密码变得非常繁琐,我们希望在操作中减少用户名,密码输入的过程,这是我们就可以使用ssh来实现免密码登录。

有兴趣的可以自行搜索基于密钥的安全验证了解更多知识

步骤

实验环境
Client: RedHat 6.3
Server: RedHat 6.3

以本地主机作为客户端client(192.168.15.7),远程主机作为服务器端server(192.168.15.4),下面来实现用ssh实现client免密码登录server的操作(或者说本地主机为A,远程主机为B,A免密码登录主机B):1、本地生成公私钥对  2、将公钥上传至远程主机用户目录下的.ssh/目录下,如/home/user/.ssh,并修改名称为 authorized_keys 3、修改用户home目录下的.ssh/和.ssh/authorized_keys权限,.ssh/一般为700,.ssh/authorized_keys为600  4、修改server端sshd服务配置文件/etc/ssh/sshd_config,设置为允许使用密钥验证登录,然后重启服务  5、验证是否可以使用密钥登录了

# 在本地主机生成公私钥对

# clientssh-keygen -t rsa -P ''

# 复制公钥到远程主机(192.168.15.4)

# clientscp ~/.ssh/id_rsa.pub c@192.168.15.4:~/  

# 将公钥重命名为authorized_keys,并放在~(用户home目录)下

# servermkdir -m 700 ~/.ssh/cat ~/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

请务必注意authorized_keys文件的权限:600

# 编辑服务端sshd的配置文件,设置为允许使用密钥验证方式登录

# server# vim /etc/ssh/sshd_configRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile     .ssh/authorized_keys

# 重启sshd服务使配置生效

# serverservice sshd restart

# 待sshd服务重启完成后,接下来就可以进行登录验证了

# client# 看看是否还是要输入密码呢ssh user@host_name 

参考

0 0