问题标签 [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.
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
,所以也许这是我需要担心的文件?我不太确定。
这很像是权限错误(错误消息暗示了很多),但我真的不确定需要更改哪个文件以及如何更改。任何建议将不胜感激。谢谢你。
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 数据并授权连接?
bash - Bash:SSH:检查具有非标准端口的 IP 或主机是否在 known_hosts
我正在尝试测试之前是否在 bash 脚本中连接过 SSH 主机。它使用非标准端口。
我正在使用此问题/答案中建议的测试,并且我确定此测试中的 SSH 主机位于 known_hosts 中,但测试似乎没有按预期工作。
是否无法使用 测试 IP 地址ssh-keygen -F
?或者这是使用非标准端口的问题(因为检查在some.host.com:4567
这里也不起作用)......
有任何想法吗?
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_hosts
using的各个行paramiko.hostkeys.HostKeyEntry.from_line
,我在 Paramiko 日志中得到了这个:
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 中更好
ssh - Openstack:如何在第一次 SSH 会话之前找出 VM 的密钥指纹
首次通过 SSH 连接到新的虚拟机 (VM) 时,通常会收到如下消息:
如果我想非常小心,如何在 OpenStack 中检查指纹是否与我的 VM 匹配?我可以使用 Horizon GUI 或openstack
CLI,但我只能使用 SSH 密钥登录到实际的 VM,因此交互式控制台上没有登录。
ssh - 强制 ssh 使用特定算法进行主机识别
我试图更好地了解主机身份验证ssh
是如何进行的。我正在从 macbook pro (OSX 10.14.6) SSH 到几个 CentOS 8.1 服务器。远程 CentOS 服务器上有几个文件用于基于主机的身份验证(例如、、)。/etc/ssh/
ssh_host_ed25519_key.pub
ssh_host_dsa_key.pub
ssh_host_rsa_key.pub
如果我查看我的 macbook 的 local ~/.ssh/known_hosts
,我会看到使用ssh-rsa
which 对应于/etc/ssh/ssh_host_rsa_key.pub
. ecdsa-sha2-nistp256
我还看到对应于的条目/etc/ssh/ssh_host_ecdsa_key.pub
。
问题:
当我
ssh
进入远程服务器时,是否有办法强制ssh
使用特定算法进行主机身份验证,或者这是我必须手动更改的东西known_hosts
?例如强制它使用ssh_host_ecdsa_key.pub
而不是ssh_host_rsa_key.pub
.默认情况下如何
ssh
决定使用哪种算法进行主机身份验证?
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 密钥。采取的步骤:
- 删除了 GitHub 上的旧 ssh 密钥(设置 --> SSH 和 GPG 密钥 --> [Ðelete] 旧密钥)
- 在我的终端中创建了一个新的 ssh 密钥
ssh-keygen -o
~/.ssh/id_rsa
并~/.ssh/id_rsa
进行了更新- 拿到我的指纹,比如说
SHA265:abcdefg name@name-P452USF
- 将 ssh 密钥保存在 GitHub 上。
- 尝试拉/克隆/推送后再次出现消息。消息再次显示过期的指纹
- 的内容被删除
~/.ssh/known_host
,因为这里存储了过期的指纹。 - 重复步骤 1-5
- 消息再次出现(为什么/在哪里仍然存储过期的指纹???)
重新启动我的设备也不起作用。
输入新指纹不起作用(为什么?)。点击后[Enter]
消息再次出现。
python-3.x - Python PSFTP 找不到主机 xxxx 的主机密钥
我在 RHEL 8 上运行 Python 3.6.8
我正在尝试使用此 #!/usr/bin/env python 连接到另一台服务器上的 sftp
我收到此错误:
但是当我查询 cnopts.hostkeys 我发现服务器列出
在 cnopts 中找到的 IP 地址与 SFTP 命令中的 IP 地址相同
如果我将此行插入到我的脚本中:
我可以很好地连接到远端
这表明连接和身份验证工作正常。
有什么建议么?