CentOS 7 ssh 免密登陸
基礎(chǔ)信息
user | role | host | ip |
---|---|---|---|
root | source | hadoop-test1 | 192.168.1.10 |
root | target | hadoop-test2 | 192.168.1.11 |
ssh 配置
- 生成 rsa 信息
# 輸入如下命令 砸泛,一路回車鹅髓,如果提示 overwrite块差, 選擇(y)回車
ssh-keygen -t rsa
- 將生成的 公鑰信息發(fā)送到目標(biāo)機(jī)器
scp ~/.ssh/id_rsa.pub root@hadoop-test2:/root/
- 登陸目標(biāo)機(jī)器宣肚,將上步的公鑰合并到目標(biāo)機(jī)器認(rèn)證文件中
cat /root/id_rsa.pub >> ~/.ssh/authorized_keys
- 登陸生成公鑰的機(jī)器城菊,ssh 目標(biāo)機(jī)器
# 登陸成功苛谷,信息如下
[root@hadoop-test1 ~]# ssh root@hadoop-test2
Last login: Mon Aug 5 21:57:16 2019 from 192.168.1.10
[root@hadoop-test2 ~]
# 登陸失敗漆魔,信息如下,可參考下文登陸失敗處理方案
[root@hadoop-test1 ~]# ssh root@hadoop-test2
root@hadoop-test2's password:
ssh 免密登陸認(rèn)證失敗問(wèn)題排查及解決
登陸到目標(biāo)機(jī)器(ssh xxx.xxx.xxx.xxx)查看登陸認(rèn)證日志
- tailf /var/log/secure
Aug 5 20:44:06 hadoop-test2 sshd[33013]: Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys
說(shuō)明該目錄的權(quán)限存在問(wèn)題
- 查看該文件的權(quán)限信息
ll -a /root/.ssh/authorized_keys
-rw------- 1 mysql root 1006 Aug 5 20:44 /root/.ssh/authorized_keys
可以看到 該目錄屬于 mysql 用戶 农猬,我們用 root 用戶登錄的所以存在權(quán)限問(wèn)題
- 權(quán)限修改
chown -R root ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 可能存在權(quán)限問(wèn)題的目錄如下
chown -R root ~
chmod 0755 ~
#--------------------
chown -R root ~/.ssh
chmod 700 ~/.ssh
- 權(quán)限修改后還不能通過(guò),需要檢查 sshd 認(rèn)證權(quán)限配置項(xiàng)
vim /etc/ssh/sshd_config
# 修改配置項(xiàng)如下屬性
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 重啟 sshd 服務(wù)
sudo service sshd restart