我在本地主要上用ssh-keygen -t ed25519 -C “XXX” 生成ssh密钥对时,同时给了我一个random art image,就是一个字符组成的图像,方便记忆。
然后我用ssh-copy-id name@server命令把密钥传到了虚拟机中,并在虚拟机配置/etc/ssh/sshd_config,禁止了密码登录方式。并且测试结果是,密码方式确实无法登录了。
之后,我在主机设置ssh开启random art:
/etc/ssh/ssh_config
VisualHostKey yes
之后我使用ssh name@server命令登录虚拟机,可以正常登录,登录前也显示了一个random art图像,但这个图像和我之前host上生成密钥对时显示的不一样,完全不一样。
按我的理解,二者应该是完全一样才对啊,为啥不一样?我就那一个公钥。
另外还有一个问题,虽然ssh连接不能使用密码(必须使用密钥),但filezilla登录(使用sftp协议)很正常,没有任何提示。filezilla是自动使用了密钥么?我并没有授权它使用密钥。
ps:
之后我在~/.ssh目录中看到,除了ssh-keygen生成的密钥对,还有一个known_hosts文件,如果运行ssh-keygen -lv-f ~/.ssh/known_hosts命令,会显示ramdom art图像,与ssh登录虚拟机时显示的相同。