为什么“ssh-keygen -R”不从 ~/.ssh/known_hosts 中删除主机

扎克

ssh-keygen 似乎无法识别我请求从主机文件中删除的主机。

$ ssh-keygen -R 'leviathan.labs.overthewire.org'
Host leviathan.labs.overthewire.org not found in /Users/zachriggle/.ssh/known_hosts

但是主机显然在known_hosts文件中:

$ grep leviathan.labs.overthewire.org ~/.ssh/known_hosts
[leviathan.labs.overthewire.org]:2223 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDPNAn6LOV1QtSqlnnXz6eECuznq5bNIe6DLFpMNZMEI

这只被Paramiko抓住了,但似乎应该删除它。

>>> from pwn import *
>>> ssh(user='leviathan0', password='leviathan0', host='leviathan.labs.overthewire.org', port=2223)
[x] Connecting to leviathan.labs.overthewire.org on port 2223
[-] Connecting to leviathan.labs.overthewire.org on port 2223: Failed
[!] SSH host key validation has failed for 'leviathan.labs.overthewire.org'
    If you want to trust this new SSH key, you should manually run the command:
    $ ssh-keygen -R 'leviathan.labs.overthewire.org'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/zachriggle/pwntools/pwnlib/tubes/ssh.py", line 665, in __init__
    self.client.connect(host, port, user, password, key, keyfiles, self.timeout, compress = True)
  File "/Users/zachriggle/.pyenv/versions/3.8.3/lib/python3.8/site-packages/paramiko/client.py", line 423, in connect
    raise BadHostKeyException(hostname, server_key, our_key)
paramiko.ssh_exception.BadHostKeyException: Host key for server 'leviathan.labs.overthewire.org' does not match: got 'AAAAC3NzaC1lZDI1NTE5AAAAIIJwHwzTXHJomqOQfM8emYvBLMkHQrtG5nBz6MP/No4O', expected 'AAAAC3NzaC1lZDI1NTE5AAAAIDPNAn6LOV1QtSqlnnXz6eECuznq5bNIe6DLFpMNZMEI'

OpenSSH 愉快地接受了新的主机密钥,并带有一个简单的提示。

$ ssh [email protected]
The authenticity of host 'leviathan.labs.overthewire.org (176.9.9.172)' can't be established.
ECDSA key fingerprint is SHA256:jMsE6D2121JkEDk3fqlcvkx/N42Q0jdY0KY+g1oaPEQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

为什么不ssh-keygen删除这一行?为什么 OpenSSH 没有发现这个命名主机有一个已知的 ECDSA 主机?

用户1686

不是同一个条目。您尝试删除的条目仅适用于端口 22 – 您在文件中的条目适用于端口 2223。同样,您告诉 OpenSSH 在端口 22 上连接,但在端口 2223 上告诉 Paramiko。

pwn.ssh 消息不完整,应该有提示ssh-keygen -R '[foo]:2223'

大多数 SSH 客户端跟踪每个主机:端口对的主机密钥,因为在单个地址(使用 NAT 端口转发)可访问多个主机比让单个 sshd 侦听多个端口更常见。这甚至适用于“leviathan.labs.overthewire.org”,它在端口 22 和 2223 上有两个不同的 sshd 实例(具有不同的主机密钥)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不同的SSHknown_hosts格式

来自分类Dev

为什么keygen是在ionic中完成的?

来自分类Dev

'''ssh-keygen'''中的-k标志有什么作用?

来自分类Dev

ssh-keygen中自动不覆盖

来自分类Dev

为什么 ssh-keygen 和 ssh 指纹不同?

来自分类Dev

为什么ssh-keygen创建空白的.pub文件?

来自分类Dev

如果未指定公钥,`ssh-keygen -r`会做什么?

来自分类Dev

在Powershell中为github自动化ssh-keygen

来自分类Dev

为什么git忽略/ etc / ssh / ssh_known_hosts中的SSH密钥?

来自分类Dev

NHibernate为什么不从数据库中删除?

来自分类Dev

为什么ngif不从我的代码中删除脚本标签?

来自分类Dev

为什么不从Cloud Code中删除对象?

来自分类Dev

从初始化脚本中删除所有ssh-keygen命令

来自分类Dev

ssh-keygen [-o]有什么作用?

来自分类Dev

使用ssh-keygen重新创建SSH主机密钥时更改输出目录(-f开关不会阻止ssh-keygen写入/ etc / ssh /)

来自分类Dev

在ssh keygen上使用rsync

来自分类Dev

防止ssh-keygen包含用户名和主机名

来自分类Dev

防止ssh-keygen包含用户名和主机名

来自分类Dev

sshd-keygen和ssh-keygen之间的区别

来自分类Dev

R - 为什么我的曲线不从 (0,1) 开始?

来自分类Dev

r.table不从CSV文件中删除NA值

来自分类Dev

为什么 awk 不从行中间删除 BOM?

来自分类Dev

Java中的ssh-keygen命令从私钥中提取公钥

来自分类Dev

git bash中的ssh-keygen突然使用错误的路径

来自分类Dev

为什么不从下一个JVM中删除类型擦除?

来自分类Dev

为什么不从其他人的本地存储库中删除目录?

来自分类Dev

为什么`strip`不从ELF可执行文件中删除节标题?

来自分类Dev

默认情况下,grep为什么不从find命令中删除终端输出的行?

来自分类Dev

为什么 exec(chr(8)) 不从 shell 中删除一个字符?

Related 相关文章

  1. 1

    不同的SSHknown_hosts格式

  2. 2

    为什么keygen是在ionic中完成的?

  3. 3

    '''ssh-keygen'''中的-k标志有什么作用?

  4. 4

    ssh-keygen中自动不覆盖

  5. 5

    为什么 ssh-keygen 和 ssh 指纹不同?

  6. 6

    为什么ssh-keygen创建空白的.pub文件?

  7. 7

    如果未指定公钥,`ssh-keygen -r`会做什么?

  8. 8

    在Powershell中为github自动化ssh-keygen

  9. 9

    为什么git忽略/ etc / ssh / ssh_known_hosts中的SSH密钥?

  10. 10

    NHibernate为什么不从数据库中删除?

  11. 11

    为什么ngif不从我的代码中删除脚本标签?

  12. 12

    为什么不从Cloud Code中删除对象?

  13. 13

    从初始化脚本中删除所有ssh-keygen命令

  14. 14

    ssh-keygen [-o]有什么作用?

  15. 15

    使用ssh-keygen重新创建SSH主机密钥时更改输出目录(-f开关不会阻止ssh-keygen写入/ etc / ssh /)

  16. 16

    在ssh keygen上使用rsync

  17. 17

    防止ssh-keygen包含用户名和主机名

  18. 18

    防止ssh-keygen包含用户名和主机名

  19. 19

    sshd-keygen和ssh-keygen之间的区别

  20. 20

    R - 为什么我的曲线不从 (0,1) 开始?

  21. 21

    r.table不从CSV文件中删除NA值

  22. 22

    为什么 awk 不从行中间删除 BOM?

  23. 23

    Java中的ssh-keygen命令从私钥中提取公钥

  24. 24

    git bash中的ssh-keygen突然使用错误的路径

  25. 25

    为什么不从下一个JVM中删除类型擦除?

  26. 26

    为什么不从其他人的本地存储库中删除目录?

  27. 27

    为什么`strip`不从ELF可执行文件中删除节标题?

  28. 28

    默认情况下,grep为什么不从find命令中删除终端输出的行?

  29. 29

    为什么 exec(chr(8)) 不从 shell 中删除一个字符?

热门标签

归档