关闭

SSH实现免密码登录

标签: ssh
97人阅读 评论(0) 收藏 举报
分类:

创建时间: 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、验证是否可以使用密钥登录了

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

# client
ssh-keygen -t rsa -P ''

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

# client
scp ~/.ssh/id_rsa.pub c@192.168.15.4:~/  

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

# server
mkdir -m 700 ~/.ssh/
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

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

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

# server
# vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     .ssh/authorized_keys

# 重启sshd服务使配置生效

# server
service sshd restart

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

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

参考

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1366次
    • 积分:82
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类