SSH配置免秘钥登录
一. SSH 配置免秘要登录
配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录。SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录。配置相互信任就是把各自的公钥都放到authorized_keys 文件中,并在sshd_config 配置文件打开 关于authorized_keys 的选项。
环境: 172.16.31.11 web211
172.16.31.13 web115
1. 在web211 上生成 秘钥对
[root@web211 ~]# cd .ssh/
[root@web211 .ssh]# ssh-keygen -t rsa
[root@web211 .ssh]# ll
总用量 8
-rw-------. 1 root root 1675 5月 24 17:23 id_rsa
-rw-r--r--. 1 root root 393 5月 24 17:23 id_rsa.pub
[root@web211 .ssh]# cat id_rsa.pub > authorized_keys
[root@web211 .ssh]# cat authorized_keys
#211公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4qMhLOQnrRa6/HGkDDWDw2Gu3gA7FIikV8xrBYvqre+gCP6h+f3gAY3stL44Ma7FFT6XhWeJiJNsCsJvNe401kkST7NXy1ZMr
O7VpYEtxVvi/WVBRgsqaeAT8FIvr3wNSqus9beB5eNOj/GFr2I4tP1698uTy42kOWanh9UfbevJoTgSp2Lm7V/zDjzNbBgJr5+a1fzuG4FYyoOavhs9hmH/NRd/avpvtoF2ae3BFy7PmIEsFlXN9Wm7WI0IXcIUTmt6q5MBWMVKZvdvpsOetnwTKrSrK7q3DhqeBqmbxqFuDbsoR+q2gYKUsWi69CxBgZM56IucOozmUHN8oBMUSw== root@web211
2. 在web115 上生成秘钥对
[root@web115 .ssh]# ssh-keygen -t rsa
[root@web115 .ssh]# ll
总用量 8
-rw-------. 1 root root 1675 5月 25 01:25 id_rsa
-rw-r--r--. 1 root root 393 5月 25 01:25 id_rsa.pub
3. 远程复制web211 上的authorized_keys 文件到web115 上
[root@web115 .ssh]# scp root@172.16.31.11:/root/.ssh/authorized_keys ./
[root@web115 .ssh]# ll
总用量 16
-rw-r--r--. 1 root root 404 5月 25 01:27 authorized_keys
-rw-------. 1 root root 1675 5月 25 01:25 id_rsa
-rw-r--r--. 1 root root 393 5月 25 01:25 id_rsa.pub
-rw-r--r--. 1 root root 394 5月 25 01:26 known_hosts
4.把web115 上的公钥加入authorized_keys 中
[root@web115 .ssh]# cat id_rsa.pub >> authorized_keys
5.修改权限
[root@web115 .ssh]# chmod 600 authorized_keys
提示:确保两台服务器上的authorized_keys 文件的权限都是600
[root@web211 ~]# ls -ld /root/.ssh/
drwx------. 2 root root 4096 5月 24 17:24 /root/.ssh/
提示:两台服务.ssh 目录权限都为700
注:
提示: 这时 两台服务器authorized_keys 的 内容是不一样的,web115 可以信任web211,是因为web115 auhtorized_keys 文件里有 web211 的公钥,也就是说,web211 可以免秘钥登录web115,但是web115不能免秘要登录web211.要想两台互信,可以拷贝web115 里的authorized_keys 文件到web211
[root@web211 .ssh]# scp root@172.16.31.13:/root/.ssh/authorized_keys ./
[root@web211 .ssh]# cat authorized_keys
#211公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4qMhLOQnrRa6/HGkDDWDw2Gu3gA7FIikV8xrBYvqre+gCP6h+f3gAY3stL44Ma7FFT6XhWeJiJNsCsJvNe401kkST7NXy1ZMr
O7VpYEtxVvi/WVBRgsqaeAT8FIvr3wNSqus9beB5eNOj/GFr2I4tP1698uTy42kOWanh9UfbevJoTgSp2Lm7V/zDjzNbBgJr5+a1fzuG4FYyoOavhs9hmH/NRd/avpvtoF2ae3BFy7PmIEsFlXN9Wm7WI0IXcIUTmt6q5MBWMVKZvdvpsOetnwTKrSrK7q3DhqeBqmbxqFuDbsoR+q2gYKUsWi69CxBgZM56IucOozmUHN8oBMUSw== root@web211
#115公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw1yVwop07XnN9jdqjxFvFKjCSq9PkPK14kej1xfQihmkwSzDrjLD6mhUpQenIlyD3xvbtzPCRQae8s5wlM2X5lj2mdoKpM/f2
FAfGj7J2G3nxZQJRxXxMD391vE0IINtvvLHAMNkrDaITZyibIHH5VLzwxYC0VNhAbXnt/nQQ9N1eZUqynFSZ52QCPrFjsM7PjdmDyJbqExZ5tTZZ86uOsOsMl/h/JZV76JMbXQdioytP8iToh2LXNcTx3lVOIgVX2vB41z8F8CQ+O3D3M73JYIda2N4216k/i9MUFmUpEpsHPg/33utMKjhCPloxk65ZTk7CD4uquJ+ErWnOPcJUw== root@web115
6. 测试免秘要登录
[root@web115 .ssh]# ssh 172.16.31.11
Last login: Thu May 24 17:31:21 2018 from 172.16.31.11
[root@web211 ~]# exit
logout
Connection to 172.16.31.11 closed.
二. 在配置中不能免秘钥登录可以参考一下解决方案
1. 保证两台的sshd_config 配置文件一样
[root@web115 .ssh]# egrep -v "^#|^$" /etc/ssh/sshd_config
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
2. 两台都安装了ssh
[root@web115 .ssh]# rpm -qa |grep ssh
openssh-5.3p1-123.el6_9.x86_64
openssh-clients-5.3p1-123.el6_9.x86_64
openssh-server-5.3p1-123.el6_9.x86_64
libssh2-1.4.2-1.el6.x86_64
3. 更改sshd_config 配置文件后,要重启sshd 服务