本地网络中的 SSH
SSH in local network
我有大约 50 台计算机需要能够建立 ssh 连接。但是我必须在执行 ssh-copy-id 时不输入每个人的密码。我试图在 ssh 中禁用密码授权,但它不起作用,仍然要求输入密码。我知道每个 IP,但我想是否有任何无需密码即可连接的方法?如果我去找每个人并要求他们在他们的 PC 上输入密码,这也是可以接受的。谢谢
您可以使用 'ssh-keygen' 和 'ssh-copy-id' 通过 ssh 无需密码登录远程 linux:
1.- 在本地主机上使用 ssh-key-gen 创建 public 和私钥:
ssh-keygen
2.- 使用 ssh-copy-id
将 public 密钥复制到远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
3.- 无需输入密码即可登录远程主机
ssh remote-host
您在 this documentation 中有更多信息。
来自ssh-copy-id(1)
:
By default it adds the keys by appending them to the remote user's ~/.ssh/authorized_keys (creating the file, and directory, if necessary).
因为所有 ssh-copy-id 所做的就是将您的 public 密钥(通常 ssh-keygen
将在 ~/.ssh/id_rsa.pub
中创建它)复制到 ~/.ssh/authorized_keys
文件,如果您想要避免在 ssh-copy-id 中输入 50 个密码,您只需找到一种方法将您的密钥附加到 50 个文件。我可以想到多种方法:
- 使用包含您的公钥的拇指驱动器亲自前往每台机器并手动复制它
- 准备一个 authorized_keys 文件,设置一个具有正确权限的匿名 ftp 服务器(或者可能是任何其他类型的服务器)并将其推送到那里(只有当你确定您不关心任何可能已写入现有文件的数据)
- 如果您已经设置了一个,请使用部署工具
- 如果每台机器都有一个用户,你可以反过来,用 file/web 服务器设置你的机器,用 script/binary 把你的 pubkey 从服务器并将其添加到 authorized_keys 文件的底部并要求每个用户下载并执行文件
- 可能还有其他可能的方法,不过这些对我来说似乎是最简单的方法
我有大约 50 台计算机需要能够建立 ssh 连接。但是我必须在执行 ssh-copy-id 时不输入每个人的密码。我试图在 ssh 中禁用密码授权,但它不起作用,仍然要求输入密码。我知道每个 IP,但我想是否有任何无需密码即可连接的方法?如果我去找每个人并要求他们在他们的 PC 上输入密码,这也是可以接受的。谢谢
您可以使用 'ssh-keygen' 和 'ssh-copy-id' 通过 ssh 无需密码登录远程 linux:
1.- 在本地主机上使用 ssh-key-gen 创建 public 和私钥:
ssh-keygen
2.- 使用 ssh-copy-id
将 public 密钥复制到远程主机ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
3.- 无需输入密码即可登录远程主机
ssh remote-host
您在 this documentation 中有更多信息。
来自ssh-copy-id(1)
:
By default it adds the keys by appending them to the remote user's ~/.ssh/authorized_keys (creating the file, and directory, if necessary).
因为所有 ssh-copy-id 所做的就是将您的 public 密钥(通常 ssh-keygen
将在 ~/.ssh/id_rsa.pub
中创建它)复制到 ~/.ssh/authorized_keys
文件,如果您想要避免在 ssh-copy-id 中输入 50 个密码,您只需找到一种方法将您的密钥附加到 50 个文件。我可以想到多种方法:
- 使用包含您的公钥的拇指驱动器亲自前往每台机器并手动复制它
- 准备一个 authorized_keys 文件,设置一个具有正确权限的匿名 ftp 服务器(或者可能是任何其他类型的服务器)并将其推送到那里(只有当你确定您不关心任何可能已写入现有文件的数据)
- 如果您已经设置了一个,请使用部署工具
- 如果每台机器都有一个用户,你可以反过来,用 file/web 服务器设置你的机器,用 script/binary 把你的 pubkey 从服务器并将其添加到 authorized_keys 文件的底部并要求每个用户下载并执行文件
- 可能还有其他可能的方法,不过这些对我来说似乎是最简单的方法