最近在RHEL8上面生成了ssh的密钥对,明明没设置密码,可是在别的机器登录的时候还提示输入密钥的密码。
于是打开debug详情模式登录看看信息,发现了一些可疑信息:
[testuser@rhel7 .ssh]$ ssh -vvT host-of-rhel8
........
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /home/testuesr/.ssh/id_rsa type -1
........
由上面信息推测,应该是不识别密钥格式造成的,生成密钥对是在rhel8里进行的,ssh登录是在rhel7里进行的。
遇到这种情况,我们可以才rhel8里使用以先命令把密钥的格式从新格式转换成旧格式(pem),然后在复制到rhel里。
[testuser@rhel8 .ssh]$ ssh-keygen -p -f id_rsa -m pem
在新生成密钥的时候直接生成pem格式的话,用下面的命令即可。
[testuser@rhel8 .ssh]$ ssh-keygen -t rsa -b4096 -f id_rsa -m pem