Linux下配置ssh免密登陆
前提:确认安装和启动ssh协议
我们需要两个服务:ssh和rsync。
可以通过下面命令查看是否已经安装:
rpm -qa|grep openssh
rpm -qa|grep rsync
如果没有安装ssh和rsync,可以通过下面命令进行安装:
yum install ssh
yum install rsync
service sshd restart (启动服务)
1、生成密钥对
[develop@centos-vitrual03 ~]$ ssh-keygen -t rsa -P ''
2、将id_rsa.pub 文件内容追加到授权keys中(即authorized_keys文件)中
[develop@centos-vitrual03 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
3、修改ssh配置文件”/etc/ssh/sshd_config”
[develop@centos-vitrual03 ~]$ sudo vim /etc/ssh/sshd_config
将以下内容的注释去掉或增加相应的内容:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
4、重启ssh服务
[develop@centos-vitrual03 ~]$ service sshd restart
5、验证无密码登陆
[develop@centos-vitrual03 ~]$ ssh localhost
注意:
此处authorized_keys的权限要保持600,否则会失败。
[develop@centos-vitrual03 .ssh]$ pwd
/home/zhanghuanfa/.ssh
[develop@centos-vitrual03 .ssh]$ ll | grep authorized_keys
total 12
-rw-rw-r--. 1 zhanghuanfa zhanghuanfa 410 May 8 15:39 authorized_keys
如上面即为664,只需要执行
[devleop@centos-vitrual03 .ssh]$ chmod 600 authorized_keys