我刚刚发现在我的 Ubuntu 机器上我有更多的公钥可以在/etc/ssh
目录中使用:
$ ll /etc/ssh
total 296K
-rw-r--r-- 1 root root 237K lip 3 2013 moduli
-rw-r--r-- 1 root root 1.7K kwi 17 12:43 ssh_config
-rw-r--r-- 1 root root 1.7K mar 25 23:06 ssh_config.dpkg-old
-rw-r--r-- 1 root root 1.7K kwi 17 12:43 ssh_config.lwidentity.bak
-rw-r--r-- 1 root root 1.7K mar 25 23:06 ssh_config.lwidentity.orig
-rw-r--r-- 1 root root 2.6K kwi 17 12:43 sshd_config
-rw-r--r-- 1 root root 2.6K kwi 17 12:43 sshd_config.lwidentity.bak
-rw-r--r-- 1 root root 2.5K mar 25 23:06 sshd_config.lwidentity.orig
-rw------- 1 root root 672 sty 4 2014 ssh_host_dsa_key
-rw-r--r-- 1 root root 605 sty 4 2014 ssh_host_dsa_key.pub
-rw------- 1 root root 227 sty 4 2014 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 177 sty 4 2014 ssh_host_ecdsa_key.pub
-rw------- 1 root root 1.7K sty 4 2014 ssh_host_rsa_key
-rw-r--r-- 1 root root 397 sty 4 2014 ssh_host_rsa_key.pub
-rw-r--r-- 1 root root 338 kwi 17 12:36 ssh_import_id
有了这个和:
$ find /etc/ssh ~/.ssh -name "*.pub" -exec ssh-keygen -l -f {} \;
256 da:f0:03:79:68:f8:04:b1:07:d8:8f:fe:3d:91:0e:aa root@icanseeyou (ECDSA)
2048 3f:d7:9f:68:1b:b3:1a:a9:47:5b:47:5b:27:88:8c:aa root@icanseeyou (RSA)
1024 7f:24:ca:0f:e3:84:8e:f9:1c:b3:49:d1:f4:39:a1:aa root@icanseeyou (DSA)
4096 ae:86:c9:88:36:36:37:2f:84:5b:83:b4:45:17:41:aa USER@icanseeyou (RSA)
我总是将 ECDSA 密钥作为第一个密钥(所提供的密钥)
$ ssh -p 222 USER@localhost
The authenticity of host '[localhost]:222 ([127.0.0.1]:222)' can't be established.
ECDSA key fingerprint is da:f0:03:79:68:f8:04:b1:07:d8:8f:fe:3d:91:0e:aa.
Are you sure you want to continue connecting (yes/no)?
/etc/ssh/sshd_config
11 HostKey /etc/ssh/ssh_host_rsa_key
12 HostKey /etc/ssh/ssh_host_dsa_key
13 HostKey /etc/ssh/ssh_host_ecdsa_key
这是如何运作的 ?为什么 ECDSA 密钥是第一个提供服务的密钥?
答案1
没看过代码,但是:
首次学习主机密钥时,首选 ECDSA 主机密钥,或者可以使用 ssh-keyscan(1) 学习。