我有一个 Raspberry Pi,当我的笔记本电脑在同一个网络中时,可以通过 SSH(通过用户密码进行身份验证)访问它。现在我想通过互联网访问它。
我已经将路由器设置为将端口转发到我的 Raspberry Pi 并安装了 fail2ban 以(希望)通过暴力破解密码是不可行的。
奇怪的是,当我通过互联网而不是通过 LAN 访问 Pi 时,我得到了一个不同的密钥:
christoph@christoph-laptop-14-04:~$ ssh-keygen -H -F 192.168.1.92
# Host 192.168.1.92 found: line 9 type ECDSA
|1|Zz8zhCYwRu7jKa/bcUTnw/BzGmo=|m2E+0RwiVXcr8lAxbK/W13ZmZUA= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAgUNwcHmVBowUoKvi9iLtoKifh/9qKAj6BNfQsYzYuoXtlYEnTUVLn4XpMYJ9+TMwL23ZDnmJuz8noKK3rFrYg=
christoph@christoph-laptop-14-04:~$ ssh-keygen -H -F [my global IP]
# Host 185.5.10.87 found: line 10 type ECDSA
|1|kEE5HDC1uBkqDN3SpQ8yFvwdj0A=|iDaNuB2Y8d3kIFPqFoXjrERRJ/0= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAgUNwcHmVBowUoKvi9iLtoKifh/9qKAj6BNfQsYzYuoXtlYEnTUVLn4XpMYJ9+TMwL23ZDnmJuz8noKK3rFrYg=
除了开始之外,一切都是一样的。那么为什么开头不一样呢?IP地址是编码成这个还是类似的?
让我感到困惑的另一件事是,当之前有不同的密钥时(我显然无法连接,因为密钥已更改但也)我看到了这个:
ECDSA key fingerprint is ed:47:24:c6:4e:c1:ca:99:d9:77:59:8f:01:12:85:cd
我可以通过以下方式找出我的一台笔记本电脑:
ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
它采用相同的格式。但是当我 ssh 进入我的 Pi 并执行相同的命令时,输出是:
256 SHA256:Npy6IbI8vDd4V3iCOcIVEsF4j2bsf9vbWcsf1ti8izE root@christoph-pi (ECDSA)
这似乎与ed:47:24:c6:4e:c1:ca:99:d9:77:59:8f:01:12:85:cd
.
我首先认为这可能Npy6IbI8vDd4V3iCOcIVEsF4j2bsf9vbWcsf1ti8izE
是一个 base 64 编码,ed:47:24:c6:4e:c1:ca:99:d9:77:59:8f:01:12:85:cd
它似乎是十六进制编码,每个字节用冒号与下一个字节分隔,但长度Npy6IbI8vDd4V3iCOcIVEsF4j2bsf9vbWcsf1ti8izE
是 43,不是 4 的整数倍,所以它不是 base64 . 那是什么?