我在两台机器上有帐户:H1 和 H2。我在 H1 上创建了 ssh 密钥并将其安装在 S1 上。我现在可以从 H1 ssh 到 S1。我想从 H2 做同样的事情。如何在 H2 上安装在 H1 上生成的 ssh 密钥?
osg*_*sgx 40
编辑:如果您拥有两台机器,则可以共享您的私钥。但是对于笔记本电脑被盗或您不拥有的机器,此解决方案并不安全。
如果您想使用相同的私钥从 H2 登录到 S1,您可以将您的私钥从 H1 复制到 H2。当您在 H1 执行以下命令时:
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
Run Code Online (Sandbox Code Playgroud)
警告!这将删除并替换您在 H2 拥有的任何私钥。
更好的方法是在 H2 ( ssh-keygen
)上生成新的私钥并使用ssh-copy-id
util在 S1 上安装它们的公共部分。在这种更安全的情况下,您将拥有两套钥匙;一个用于 H1-S1 登录,第二个用于 H2-S1 登录。将有两个在 S1 授权的公钥。并且您将能够撤销其中的任何一个或两者(例如,当您的笔记本被盗时,或者机器的所有者决定禁用您的帐户并重新使用您的所有文件时)。
Mu *_*iao 31
用 ssh-copy-id
概要
ssh-copy-id [-i [identity_file]] [user@]machine
描述
ssh-copy-id 是一个脚本,它使用 ssh 登录到远程机器并将指定的身份文件附加到该机器的 ~/.ssh/authorized_keys 文件中。
Dav*_*ary 16
使用与设置 H1 时相同的过程(但不是相同的私钥)设置 H2:
类型: ssh-keygen -t rsa
类型: ssh-copy-id username@S1.net
(但在 S1 和 S1 的主机名上使用您的实际用户名,然后在 S1 要求时输入您的密码)。
这会将您工作站的公钥安装到~/.ssh/authorized_keys
服务器上该用户的文件中。
我假设你真正要问的是
这样做的正确方法是什么?
人们牢记服务器上的一个帐户只有一个用户名,当然还有一个授权密码。
像 ssh 这样的公钥系统比密码系统要好:服务器上的一个帐户有一个用户名和任意数量的授权公钥,所有这些都列在~/.ssh/authorized_keys
文件中。
(更多细节)。
小智 5
用于将 SSH 密钥从一台计算机转移到另一台计算机。只需将 H1(旧机器)的 ~/.ssh 中的整个文件夹复制到新机器 H2 的 ~/.ssh 内容文件夹即可。
现在尝试:
ssh ubuntu@13.123.43.26 (你的S1 IP)
您很可能会收到修复该运行的权限警告:
chmod 400 ~/.ssh/id_rsa
现在再说一遍:
ssh ubuntu@13.123.43.26 (你的S1 IP)
现在就可以正常工作了。
小智 5
这里的所有问题都解决了使用 将身份从一台服务器复制到另一台服务器的问题ssh-copy-id
,这不是问题的重点。
问题似乎要问的问题是如何使在个人计算机(H1)上生成和使用的相同的公私密钥对可以在另一台个人计算机(H2)上使用,从而不必设置新的私钥 - 公钥并手动将其添加到我们用来连接的每个服务器。
出于其他人广泛提到的安全原因,这是不可取的,但是,可以通过以下步骤实现:
~/.ssh/id_rsa
)和公共(例如~/.ssh/id_rsa.pub
)从您的 H1 机器复制到您所在位置的 H2 机器~/.ssh
(仅通过您将在之后格式化的受信任 USB 执行此操作,不要使用电子邮件或任何其他基于互联网的媒体)。当您在 H2 中执行以下命令时ls -alt ~/.ssh
,输出将至少包含以下内容:-rw-r--r-- 1 youUserName youUserName 1240 Nov 3 14:52 id_rsa
-rw-r--r-- 1 youUserName youUserName 412 Nov 3 14:52 id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
chmod 600 ~/.ssh/id_rsa
,以便以下命令的输出ls -alt ~/.ssh
将包含以下内容(注意与上述权限的区别):-rw------- 1 youUserName youUserName 1240 Nov 3 14:52 id_rsa
-rw-r--r-- 1 youUserName youUserName 412 Nov 3 14:52 id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
ssh-add ~/.ssh/id_rsa
启用私钥-公钥对,以用于从 H2 向您将使用导入的私钥-公钥连接到的任何服务器标识您自己。现在,任何ssh
或scp
命令ssh yourUserName@ip-address
都应该成功,就像您登录到 H1 一样。
安全注意事项: