我的同事给我发了一个“.ssh”目录,里面有文件。他说我可以把这个目录放在我的用户目录中,然后不用密码连接到ssh (ssh @ip)。
我把这个目录放在我的主目录中,然后尝试ssh @ip,但是它没有工作。
我是不是遗漏了什么?
发布于 2011-05-09 02:19:41
这里有两件事。
1)你的同事给你发了一个.ssh目录(糟糕的想法,但这是另一个问题.)这里有一个名为authorized_keys的文件,它包含一个或多个"SSH公钥“。他所说的“没有密码的连接”发生在您连接并提供一个私钥,并且系统在..ssh/authorized_ key中识别一个匹配的公钥时发生。如果您没有说ssh私钥,那么这个文件夹基本上是无用的。此键需要位于客户端,而不是服务器端。查看.ssh文件夹中,是否有id_rsa文件?如果是这样的话,复制到你的客户,并加载到Pagent或Putty内部。
2)你说你把这个放在你的主目录里,让我们说/ home /Moon。现在,您尝试以root@ip登录。
SSH将在/ root /.ssh/中查找文件NOT /home/ Moon /.ssh/,因为您尝试以root身份登录,而不是以月亮的身份登录。根据您的发行版,您可以登录到您自己的帐户和sudo或su到根。在根部放一个没有密码的钥匙是很可怕的。
最后一句警告..。您的同事将他的.ssh目录(包含一个authorized_keys文件)给您某个未知的私钥。除非你真的信任你的同事,否则这是个可怕的主意。如果您的主文件夹有一个.ssh目录,其中有人在authorized_keys文件中使用公钥,那么他们可以在不提供系统密码的情况下登录到您的用户。基本上,你的同事可以以你的身份登录,在你的名下做任何他想做的事,没有人能证明不是这样。
如果你想自己做这件事,并且做得很好,那么做以下几件事。
发布于 2011-05-09 00:45:52
.ssh目录应该包含一个公钥,您需要将它添加到您的授权密钥文件中(如果您的同事做得正确的话)。打开终端并键入
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(这可能不是正确的命令,您所发送的目录中应该有一个.pub文件,cat,而不管它叫什么)
您可能还应该向他们建议,发送整个SSH目录是一个非常糟糕的主意,因为首先,您现在拥有他的私钥。另外,任何先前授权的密钥或已知主机都已被覆盖,它们应该只发送给您id_rsa.pub文件。
或者,您的sshd可能不会被配置为允许基于密钥的auth,请参阅文档以获得有关如何执行此操作的特定说明。
发布于 2011-05-09 02:07:33
另一种可能是:根据提取.ssh目录的方式,您可能无法拥有所创建的文件(这是大多数版本ssh连接的先决条件)。试试chown -R $USER. ~/.ssh和chmod -R g-rwx,o-rwx ~/.ssh。
https://serverfault.com/questions/267560
复制相似问题