什么阻止任何人将他们的ssh公钥复制到我的服务器上?


0

我正在建立我的第一个家庭服务器,并希望从互联网上ssh-able,所以我可以在任何地方访问它。

我正在按照本指南进行操作,直到目前为止我理解它为止

生成密钥对后,就可以将公钥放在我们想要使用的虚拟服务器上。

您可以使用以下命令将公钥复制到新计算机的authorized_keys文件中ssh-copy-id command。请务必替换下面的示例用户名和IP地址。

ssh-copy-id user@123.45.56.78

或者,您可以使用SSH粘贴密钥:

cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

我很困惑,因为任何人都不能在他们的本地计算机上生成一个rsa密钥,然后将其复制到我的服务器(假设他们知道服务器上的IP地址或域名和用户名)?


是的,你从DanielB的答案中看到了..此外,你还必须启用PasswordAuthentication才能复制密钥。有时指南不能解释除了输入命令之外的其他事情。所以从指南中学习的方法是从指南中做到这一点。在这种情况下,如果您尝试了它,您会看到它提示输入密码。
barlop 2015年

对,我还有一个问题。这比使用密码更好,因为有人可以尝试强制复制密钥的方法,因为你需要复制密钥就是密码。
user2237160 2015年

或者,如果您在设置中禁用PasswordAuthentication,是否可以将更多rsa密钥复制到服务器?
user2237160 2015年

蛮力。一旦密钥被复制,那么PasswordAuthentication可以设置为否。然后ssh-copy-id无法进入。为了进入,ssh-copy-id将ssh。因此,如果源计算机的密钥不在目标服务器和PasswordAuthentication设置为否,然后ssh-copy-id无法进入,因为ssh无法进入。默认情况下,ssh首先尝试PubKeyAuthentication,然后尝试PasswordAuthentication。因此,如果密钥有效,则无法提示,如果密钥失败,则会收到密码提示。并且sshd经常将PubKeyAuthentication和PasswordAuthentication设置为yes。
barlop 2015年

我不确定ssh-copy-id是否尝试PubKeyAuthentication,但是如果它确实是没有意义的话。因为如果它可以通过密钥进入,那么它无关,如果它不能,它将不得不尝试PasswordAuthentication。BTW例如,ssh可以指定只执行PasswordAuthentication $ ssh -o "PubKeyAuthentication no" user@comp 或PasswordAuthentication no,因此它只尝试PubKeyAuthentication。默认情况下,它会同时尝试按键,如果失败则按密码。它尝试的任何方法只有在dest计算机上的sshd_config允许的情况下才能工作
barlop 2015年

Answers:


2

你好像是误会。跑完后ssh-copy-id bla@example.com你会得到一个提示Password:。在不知道密码或任何其他有效凭据的情况下,该命令实际上无法工作。


0

如果他们可以执行复制操作,那么他们也可以执行其他操作。所以这个问题毫无意义。


那么如何定义谁可以复制密钥呢?我很困惑,因为整个教程看起来像你在你的计算机本地操作,然后突然以某种方式允许将你的密钥复制到服务器只需
要用

@ user2237160所有非限制用户(能够进行shell或SCP / SFTP访问或执行命令)都可以执行此操作。他们为什么不呢?他们无论如何都可以访问。因为复制密钥需要使用以前的凭据(其他密钥或密码或其他)登录。
丹尼尔B

你的意思是“复制你需要使用以前的凭据登录所需的密钥”,指南从未提及登录到服务器以复制密钥。所有它说你需要做ssh-copy-id user @ serverIPAddress。您是说这个命令会提示您输入'user'的密码?
user2237160 2015年

@DanielB证实了这一点。你确实需要密码。很抱歉误解
user2237160 2015年

他的标题确实说“不能有人将他们的ssh公钥复制到我的服务器上吗?答案是否[只有那些有密码的人才能..并且当启用了密码验证时)。如果有人可以进入那么它就是一个问题,所以考虑到他提出的问题,他的担忧是合理的。
barlop 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.