问题标签 [known-hosts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1027 浏览

php - 尝试从 PHP git pull 时出现 known_hosts 文件权限问题

我正在尝试设置一个简单的 PHP 脚本,git pull当您转到我设置的 AWS Amazon Linux 2 AMI 测试 Web 服务器上的特定 URL 时,它可以执行此操作。

我在尝试这样做时遇到了一些问题,此后一直在关注这篇文章以尝试解决问题:https ://jondavidjohn.com/git-pull-from-a-php-script-not-so-simple /

我被困在作者说要运行的步骤上sudo -u www git pull

在我的系统中,apache我们需要为 Apache 用户git pull添加必要的 SSH 密钥信息,但它不起作用。当我尝试运行以下内容时:

我收到以下错误:

我不知道这是否是一个问题,但..ssh下没有目录/usr/share/httpd。下有一个known_hosts文件~/.ssh,所以也许这是我需要担心的文件?我不太确定。

这很像是权限错误(错误消息暗示了很多),但我真的不确定需要更改哪个文件以及如何更改。任何建议将不胜感激。谢谢你。

0 投票
1 回答
1360 浏览

mysql - Navicat 无法识别 Mac 上 known_hosts 文件中的新条目并且无法连接到远程服务器

2022 年 2 月更新:此问题可能已在更新的版本中得到修复。请参阅有关已接受解决方案的评论。

概括:

Navicat 中与远程数据库的现有连接正在使用 SSH > 主机字段的域名。在建立一个新的远程服务器并将域指向新的 IP 地址(并​​设置数据库和用户,以及将您的公共 RSA 密钥添加到新服务器)之后,Navicat 不信任来自服务器的密钥哈希。替换条目~/.ssh/known_hosts没有帮助。

重现步骤:

  • 将远程数据库的域指向一个新的 IP 地址
  • 将您的 RSA 公钥添加到远程服务器上的授权密钥
  • 在远程服务器上添加远程数据库和用户
  • 在终端中,使用域 ssh 进入新的远程服务器,然后按照提示将新服务器添加到 known_hosts 文件
  • 在 Navicat(特别是 Navicat Essentials for PostGreSQL,但此问题将适用于 Mac 上 Navicat 套件中的任何应用程序)中编辑与远程服务器的现有连接
  • 在“编辑连接...”窗口的 SSH 选项卡上,单击“测试连接”

预期的:

  • Navicat 使用更新的 ~/.ssh/known_hosts 文件来授权连接到远程服务器

实际的:

  • Navicat 无法连接

错误:

问题:

如何让 Navicat 接受新的 known_hosts 数据并授权连接?

0 投票
1 回答
171 浏览

bash - Bash:SSH:检查具有非标准端口的 IP 或主机是否在 known_hosts

我正在尝试测试之前是否在 bash 脚本中连接过 SSH 主机。它使用非标准端口。

我正在使用问题/答案中建议的测试,并且我确定此测试中的 SSH 主机位于 known_hosts 中,但测试似乎没有按预期工作。

是否无法使用 测试 IP 地址ssh-keygen -F?或者这是使用非标准端口的问题(因为检查在some.host.com:4567这里也不起作用)......

有任何想法吗?

0 投票
1 回答
827 浏览

python - 尽管使用 ssh-keyscan 生成 known_hosts 文件,pysftp.CnOpts() 'No Host Keys Found' 错误

我正在尝试使用 pysftp 遵循验证主机密钥的解决方案。

我跑:

但我得到了错误:

即使在我ssh-keyscan 192.168.254.254 > ~/.ssh/known_hosts使用 Windows PowerShell 之后,文件中也添加了以下内容~/.ssh/known_hosts

并且,请注意,即使在cnopts = pysftp.CnOpts()

我尝试重新安装 pysftp 仍然无济于事。请指教

当我通过 ssh 远程连接到服务器时,它还会提示我验证主机密钥,尽管它已经在knbown_hosts文件中。当我验证密钥时,添加到的密钥C:\\Users\\UWAdmin/.ssh/known_hosts是用类似中文的符号编写的:

按照 Martin 的建议尝试解析known_hostsusing的各个行paramiko.hostkeys.HostKeyEntry.from_line,我在 Paramiko 日志中得到了这个:

0 投票
1 回答
116 浏览

docker - 新创建的容器内的 Git 克隆 - known_hosts 的问题

我想问一下如何解决当我尝试git clone ... 在容器中时由于服务器不在known_hosts中而失败的问题。有没有办法强制“是”:

我已经尝试过yes | git clone ...,但它不起作用

现在我正在这样做:

echo "github.com,140.82.121.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> /root/.ssh/known_hosts \

但是第一种方法看起来比在 Dockerfile 中更好

0 投票
1 回答
95 浏览

ssh - Openstack:如何在第一次 SSH 会话之前找出 VM 的密钥指纹

首次通过 SSH 连接到新的虚拟机 (VM) 时,通常会收到如下消息:

如果我想非常小心,如何在 OpenStack 中检查指纹是否与我的 VM 匹配?我可以使用 Horizo​​n GUI 或openstackCLI,但我只能使用 SSH 密钥登录到实际的 VM,因此交互式控制台上没有登录。

0 投票
1 回答
34 浏览

ssh - 强制 ssh 使用特定算法进行主机识别

我试图更好地了解主机身份验证ssh是如何进行的。我正在从 macbook pro (OSX 10.14.6) SSH 到几个 CentOS 8.1 服务器。远程 CentOS 服务器上有几个文件用于基于主机的身份验证(例如、、)。/etc/ssh/ssh_host_ed25519_key.pubssh_host_dsa_key.pubssh_host_rsa_key.pub

如果我查看我的 macbook 的 local ~/.ssh/known_hosts,我会看到使用ssh-rsawhich 对应于/etc/ssh/ssh_host_rsa_key.pub. ecdsa-sha2-nistp256我还看到对应于的条目/etc/ssh/ssh_host_ecdsa_key.pub

问题

  1. 当我ssh进入远程服务器时,是否有办法强制ssh使用特定算法进行主机身份验证,或者这是我必须手动更改的东西known_hosts?例如强制它使用ssh_host_ecdsa_key.pub而不是ssh_host_rsa_key.pub.

  2. 默认情况下如何ssh决定使用哪种算法进行主机身份验证?

0 投票
0 回答
18 浏览

github - 更新 GitHub (Ubuntu-20.04) 的 SSH 密钥/RSA 指纹不起作用

我的 GitHub ssh 密钥已过期。我尝试更新它,它可以在 GitHub 的网站上运行,但是当我尝试推送/拉取/克隆时,我的笔记本电脑只会显示旧的 RSA 指纹。所以目前,我的笔记本电脑现在无法访问 GitHub。

StackOverflow 上有一个类似的问题(但它们不包括我的情况):

当我尝试推/拉时,出现以下消息

无法确定主机 'github.com (140.82.121.4)' 的真实性。

RSA 密钥指纹为 SHA256:xyz/0GFYZ+xPpuxU。

您确定要继续连接(是/否/[指纹])?

点击yes导致无法访问,因为消息中提到的指纹已过期。输入一个新的fingerprint似乎不起作用,因为该消息再次出现。

当然,我尝试更新 ssh 密钥。采取的步骤

  1. 删除了 GitHub 上的旧 ssh 密钥(设置 --> SSH 和 GPG 密钥 --> [Ðelete] 旧密钥)
  2. 在我的终端中创建了一个新的 ssh 密钥ssh-keygen -o
  3. ~/.ssh/id_rsa~/.ssh/id_rsa进行了更新
  4. 拿到我的指纹,比如说SHA265:abcdefg name@name-P452USF
  5. 将 ssh 密钥保存在 GitHub 上。
  6. 尝试拉/克隆/推送后再次出现消息。消息再次显示过期的指纹
  7. 的内容被删除~/.ssh/known_host,因为这里存储了过期的指纹。
  8. 重复步骤 1-5
  9. 消息再次出现(为什么/在哪里仍然存储过期的指纹???)

重新启动我的设备也不起作用。

输入新指纹不起作用(为什么?)。点击后[Enter]消息再次出现。

0 投票
0 回答
6 浏览

python-3.x - Python PSFTP 找不到主机 xxxx 的主机密钥

我在 RHEL 8 上运行 Python 3.6.8

我正在尝试使用此 #!/usr/bin/env python 连接到另一台服务器上的 sftp

我收到此错误:

但是当我查询 cnopts.hostkeys 我发现服务器列出

在 cnopts 中找到的 IP 地址与 SFTP 命令中的 IP 地址相同

如果我将此行插入到我的脚本中:

我可以很好地连接到远端

这表明连接和身份验证工作正常。

有什么建议么?