ssh无法免密登录
系统:CentOS 7.9
ssh互信做完后发现仍然无法ssh免密登录,提示如下:
[oracle@hisdb1:/home/oracle]$ ssh hisdb1 date
输入密钥的密码 '/home/oracle/.ssh/id_rsa':
解决方案:
[root@hisdb1 .ssh]# vi /etc/ssh/sshd_config
确认以下参数被注释:
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/
authorized_keys #PermitEmptyPasswords no
确认以下未被注释:
PasswordAuthentication yes
保存后,重启sshd服务
[root@hisdb1 ~]# service sshd restart
使用ssh-keygen重新生成密匙
[oracle@hisdb1:/home/oracle]$ ssh-keygen -t rsa
Generate public/private rsa key pair.
输入要在其中保存密钥的文件 (/home/oracle/.ssh/id_rsa):
/home/oracle/.ssh/id_rsa 已存在。
覆盖 (y/n)?y
输入密码(空表示无密码):
再次输入相同的密码:
您的身份信息已保存在 /home/oracle/.ssh/id_rsa 中。
您的公钥已保存在 /home/oracle/.ssh/id_rsa.pub 中。
密钥指纹是:
SHA256:eiCXx/pZCDM49ljwkQ9NPRR7W25kz5FilY10HAEfIyk oracle@hisdb1
密钥的随机艺术图像是:
+---[RSA 2048]----+
| .oo.++O*|
|+ oE .=o*|
| .+ ...oo++ |
|+ * ..*.o.|
|= X S .o o|
| .B O ..|
| .+ o .|
|o o |
|o |
+----[SHA256]-----+
说明:如上所示,该命令会在/home/oracle/.ssh/目录下生成以下两个文件
id_rsa 私钥文件
id_rsa.pub 公钥文件
将公钥复制到远程机器的authorized_keys文件中:
复制到hisdb1:
[oracle@hisdb1:/home/oracle]$ ssh-copy-id -i /home/oracle/.ssh/id_rsa.pub oracle@hisdb1
/usr/bin/ssh-copy-id: INFO: 要安装的密钥的源: "/home/oracle/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO:尝试使用新密钥登录,筛选出任何已
安装的密钥 /usr/bin/ssh-copy-id: INFO:仍有 1 个密钥需要安装 -- 如果现在提示您安装新密钥
oracle@hisdb1的密码:
添加的密钥数: 1
现在尝试登录到计算机,使用: "ssh 'oracle@hisdb1'"
,然后检查以确保只添加了所需的密钥。
复制到hisdb2:
[oracle@hisdb1:/home/oracle]$ ssh-copy-id -i /home/oracle/.ssh/id_rsa.pub oracle@hisdb2
/usr/bin/ssh-copy-id: INFO: 要安装的密钥的来源: "/home/oracle/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: 尝试使用新密钥登录,以过滤掉任何已
安装的密钥 /usr/bin/ssh-copy-id: INFO: 1 个密钥仍需安装 -- 如果现在提示您安装新密钥
oracle@hisdb2的密码:
添加的密钥数: 1
现在尝试登录计算机,使用:"ssh 'oracle@hisdb2'"
并检查以确保仅添加了所需的密钥。
验证:
[oracle@hisdb1:/home/oracle]$ ssh hisdb1 日期
星期一 3 月 14 日 23:01:02 CST 2022
[oracle@hisdb1:/home/oracle]$ ssh hisdb2 日期
星期一 3 月 14 日 23:01:05 CST 2022
[oracle@hisdb1:/home/oracle]$ ssh hisdb1-priv 日期
星期一 3 月 14 日 23:01:11 CST 2022
[oracle@hisdb1:/home/oracle]$ ssh hisdb2-priv 日期
星期一 3 月 14 日 23:01:15 CST 2022