我对此还很陌生所以我希望我不要问一些废话。
我想向远程服务器发送一个不需要密码的 SSH 命令。
在本地机器上我们有多个用户。
远程计算机上只有一个用户,因此我必须连接that_user@remote_server。
是否可以为 local_machine 上的所有用户(每个用户将添加自己的密钥)创建 RSA 密钥并将其发送给远程服务器上的某个用户?
谢谢,
答案1
是的。
请在源系统上创建密钥(ssh-keygen -t rsa
例如),然后使用ssh-copy-id
命令将其推送到远程系统。
以下内容应该适合您:
ssh-copy-id that_user@remote_server
答案2
是的,只需在每个用户下运行ssh-keygen -t rsa
,然后将文件内容或您选择包含创建的 ssh 密钥的任何文件添加到远程服务器上用户主目录中的文件~/.ssh/id_rsa.pub
末尾。~/.ssh/authorized_keys
答案3
是的,有可能,看看这个问题: SSH 公钥认证 - 一个公钥可以用于多个用户吗?
基本上你必须
- 在 local_machine 为每个用户创建一个私钥/公钥对,比如说 id_rsa 和 id_rsa_.pub ;密钥将驻留在每个用户的 ~/.ssh/ 文件夹中。
- 将每个用户 id_rsa.pub 的内容附加到远程计算机上的 ~/.ssh/authorized_keys 中。您可以通过以下方式远程执行此操作
cat /home/newuser/.ssh/id_rsa.pub | ssh user@remote_machine "cat >> ~/.ssh/authorized_keys"