有没有一种简单的方法来获取 .ssh/authorized_keys 中输入的所有指纹的列表?.ssh/authorized_keys2 文件?
ssh-keygen -l -f .ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
只会返回第一行/条目/公钥的指纹
用 awk 破解:
awk 'BEGIN {
while (getline < ".ssh/authorized_keys") {
if ($1!~"ssh-(r|d)sa") {continue}
print "Fingerprint for "$3
system("echo " "\""$0"\"> /tmp/authorizedPublicKey.scan; \
ssh-keygen -l -f /tmp/authorizedPublicKey.scan; \
rm /tmp/authorizedPublicKey.scan"
)
}
}'
Run Code Online (Sandbox Code Playgroud)
但是有没有更简单的方法或我没有找到的 ssh 命令?
我只是注意到我的authorized_keys 中的大多数ssh pubkeys 以== 或= 结尾
例如
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9ZUwxXn2HZAAUswoaV8t2sQPvolVWDI053f0giNN154Zyi9FtWJKvyLHXoxW4IzFxgx+m6EYqXG/XCtfamLhwvGZv9FXkgQKeF6HJv/rjyKRBHPRyX0vV4S9uQU+xQV7f0Ock3urSzbUyoCgngA8Ax6AkYGmMTLLjx1HOBO/TJ477aysWt4IAg1gviT50I4xOYiHT4vC67czoDTnPl0UfKQJaM0+6WrneK7FJbd/8CAX7P7IxOhj1OxVbnEoh9FvecLbSDdOx/LF+kJcav/LThuoG7NR+Y+rS9lNkta3/KPi3IBMPum+bZpXJF7fkHl9Kx/iOMitT7KjNW/mty74xw== foo@bar
Run Code Online (Sandbox Code Playgroud)
但是今天我看到了一个结尾没有等号的公钥。我还注意到,在公钥中出现 = 的唯一地方是最后,而不会出现在其他任何地方。
现在我只是好奇公钥末尾的零、一个或两个等号是什么意思?
我克隆了一个服务器,因此它们具有相同的 RSA 密钥指纹。
它似乎在/etc/ssh/ssh_host_rsa_key.pub.
改变它的正确方法是什么?
谢谢。
这是一个我们都面临的简单问题,可能无需多想就手动解决。
随着服务器更改、重新配置或重新分配 IP 地址,我们会收到以下 SSH 主机验证消息。我对简化工作流程以解决这些 ssh 识别错误很感兴趣。
鉴于以下消息,我通常会vi /root/.ssh/known_hosts +434删除 ( dd) 违规行。
我已经看到其他组织的开发人员/用户在看到此消息时出于沮丧而删除了他们的整个 known_hosts文件。虽然我没有走那么远,但我知道有一种更优雅的方法来处理这个问题。
提示?
[root@xt ~]# ssh las-db1
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is …Run Code Online (Sandbox Code Playgroud) 我有一些具有相同用户/密码组合的任意数量的服务器。我想写一个脚本(我调用一次)以便
ssh-copy-id user@myserver
为每个服务器调用。由于他们都有相同的用户/密码,这应该很容易,但ssh-copy-id希望我每次都分别输入密码,这违背了我的脚本的目的。没有输入密码的选项,即ssh-copy-id -p mypassword user@myserver.
如何编写一个脚本,在ssh-copy-id要求时自动填写密码字段?
我通过 Google Compute Engine 中的 Bitnami 创建了一个 VM。以前,我可以通过 Bitnami Web 界面进行 ssh。我试图通过 Mac 上的终端 ssh,但一直收到Permission denied (publickey)错误消息。然后我删除了服务器和我的 Mac 上的所有密钥,并从 bitnami 下载了 pem 文件并使用-i了连接选项,但问题仍然存在。
ssh -i bitnami-gce.pem xxx@1xx.1xx.5x.1xx -v
Run Code Online (Sandbox Code Playgroud)
完整的调试信息:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to 1xx.1xx.5x.1xx [1xx.1xx.5x.1xx] port 22.
debug1: Connection established.
debug1: identity file bitnami-gce.pem type -1
debug1: identity file bitnami-gce.pem-cert type -1
debug1: Enabling compatibility mode for protocol …Run Code Online (Sandbox Code Playgroud) debian ssh ssh-keys google-compute-engine google-cloud-platform
我将在下周的一次会议上谈论我创建的一些软件工具。在此演示期间,我的笔记本电脑将显示在投影仪屏幕上。演示文稿将被录制下来并发布在 youtube 上。如果出于某种原因,我有机会~/.ssh/known_hosts在演示过程中打开和编辑我的文件,我应该在这样做时断开投影仪吗?披露我的 known_hosts 文件是否有任何安全风险?
我想设置到具有虚拟机的计算机中的 mysql 服务器的 ssh 隧道。如果机器重新启动,隧道也必须工作。
所以让我们说 A 是带有 linux 软件的计算机。B - 计算机 A 中的虚拟机。
MySQL 在 B 中。
C - 是计算机 A 中的虚拟机,它想连接到 B 中的 MySQL。
现在通过这篇文章:http : //www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
我尝试将公钥复制到远程服务器。我想我需要将其复制到计算机 A。
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
现在我尝试输入文件 id_rsa.pub.bak 的密码。它否认了。
然后我看到它使用 /home/[user]/.ssh/id_rsa 中的密钥,这与我试图复制的公钥不同,我的意思当然是私钥不同,但我的意思是我复制另一个的公钥私钥。所以我尝试使用它的密码。也否认。
我如何调试密码被拒绝的原因?
更新
根据评论,我创建了名为 id_rsa.pub 的新公共文件,现在所有内容都在一行中
并运行仍然出现错误。
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
更新
检查了 A …
我在服务器(主机)中有一个公钥,我想将其传输到另一台服务器(目标)。
该主机服务器有一串钥匙中的.ssh/文件夹,我想只是其中之一复制到目标服务器(它不是id_rsa.pub,所以让通话mykey.rsa.pub)。
此外,目标服务器在 中具有主机服务器密钥(让我们调用hostkey.rsa.pub).ssh/authorized_keys,用于无密码 ssh。
有可能做这样的事情吗?
ssh-copy-id mykey.rsa.pub -i hostkey.rsa.pub user@target
我有一个客户,由于他们对 GDPR 的解释,现在要求我们每 90 天更改一次密码。对于我们为他们开发的基于 Web 的系统来说,这很好,因为我们可以实施这些规则。但它们也要求我们更改用于访问服务器的 SSH 密钥的密码,这并不好。
如果没有,我们可以使用任何工具来处理这个问题吗?我在想:
一种。创建新密钥。
湾 将所有公钥分发到现有服务器。
C。删除现有的公钥。
d. 存档旧私钥。
我已经在这里阅读了一些关于 Puppet 的帖子,但据我所知,他们的目的只是解决在服务器之间分发公钥而不是每 n 天创建新密钥的问题?我应该进一步研究 Puppet 吗?
在密码保留和 ssh 密钥方面,社区标准是什么?你怎么做呢?
ssh-keys ×10
ssh ×7
debian ×2
awk ×1
bash ×1
fingerprint ×1
gdpr ×1
known-hosts ×1
linux ×1
public-key ×1
puppet ×1
ssh-keygen ×1