如何使用 .ssh 目录连接到 ssh?

Moo*_*oon 1 ssh

我的同事给我发了一个“.ssh”目录,里面有文件。他说我可以将该目录放在我的用户目录中,然后无需密码即可连接到 ssh(ssh root@ip)。

我将该目录放在我的主目录中,然后尝试 ssh root@ip,但它没有用。

我错过了什么吗?

Pra*_*min 5

这里有两件事。

1)您的同事给您发送了一个 .ssh 目录(顺便说一句,这个想法很糟糕,但那是另一个问题。)这里有一个名为 authorized_keys 的文件,其中包含一个或多个“SSH 公钥”。当您连接并提供私钥并且系统在 .ssh/authorized_keys 中识别出匹配的公钥时,就会发生他所说的“无密码连接”。如果你没有说 ssh 私钥,那么这个文件夹基本上是没用的。此密钥需要在客户端而不是服务器端。查看 .ssh 文件夹内,是否有 id_rsa 文件?如果是这样,请将其复制到您的客户端并将其加载到 Pagent 或 Putty 中。

2)你说你把它放在你的主目录中,比如说/home/Moon。现在您尝试以 root@ip 身份登录。

SSH 将在 /root/.ssh/ 内部查找文件,而不是 /home/moon/.ssh/,因为您尝试以 root 身份而不是 Moon 身份登录。根据您的发行版,您可以登录自己的帐户并使用 sudo 或 su 来root。为 root 设置一个无密码的密钥是很可怕的。

最后一句警告......你的同事给了你他的.ssh目录,其中包含一个authorized_keys文件到一些未知的私钥。除非你真的真的真的很信任你的同事,否则这是一个可怕的想法。如果您的主文件夹有一个 .ssh 目录,在 Authorized_keys 文件中包含其他人的公钥,那么他们可以登录您的用户而无需提供您的系统密码。基本上,您的同事可以以您的身份登录并以您的名义做他想做的任何事情,而没有人可以证明其他情况。

如果您想自己执行此操作并正确执行,请执行以下操作。

  1. 以普通用户身份登录,输入命令

    ssh-keygen -t rsa

  2. 按照提示操作,为所有内容选择默认值(不过,我建议您为密钥输入密码)。

  3. 将您的公钥复制到您的授权密钥文件中,删除旧内容。

    cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

  4. 使用 Pagent、Putty、ssh -i 或其他一些密钥管理器加载/打开 id_rsa 将 ~/.ssh/id_rsa 文件复制到您的客户端计算机。现在通过 SSH 连接到 yourusername@ip,您将不需要提示。