![在计算机 A 上生成 SSH 密钥,并使用它从计算机 B SSH 到计算机 C](https://linux22.com/image/1084491/%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%20A%20%E4%B8%8A%E7%94%9F%E6%88%90%20SSH%20%E5%AF%86%E9%92%A5%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E5%AE%83%E4%BB%8E%E8%AE%A1%E7%AE%97%E6%9C%BA%20B%20SSH%20%E5%88%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%20C%20.png)
我正在做一些配置工作,碰巧我现在需要做一些我以前从未做过的事情,而我完全不知道该怎么做。
我需要能够在一个系统上生成一个 ssh 密钥对 (ssh-keygen -t rsa),我们称之为系统 A,然后将该对传输到系统 B 和系统 C,以便我可以从系统 B ssh 到系统 C。换句话说,我需要一个 ssh 密钥对,而我实际上不必在任何将要进行 ssh 的系统上生成密钥。
我该怎么做呢?
答案1
在系统 A 上:
mkdir /tmp/my-keys
cd /tmp/my-keys
ssh-keygen -t rsa -f some-name
它将生成一个some-name
包含私钥的文件和一个some-name.pub
包含公钥的文件。
接下来,将some-name
私钥复制到系统 B(您要从中连接的系统)。将其放在您要连接的用户的 .ssh 目录中。如果用户没有 .ssh 目录,请ssh-keygen
在该系统中运行以创建它;或者,如果您不想这样做(我认为这就是您的全部观点),请手动创建目录,将文件复制some-name
到其中,并确保.ssh
模式为 700,some-name
文件为 600。两者都应归相关用户所有。
最后,将some-name.pub
公钥复制到系统 C(或任何您想要从 B 连接到的系统)。将其放在.ssh
您将以之连接的用户的目录中。将其重命名为authorized_keys
,这是 SSH 将检查的密钥列表;任何与给定公钥匹配的私钥都将被允许连接。