【问题标题】:SSH in local network [closed]本地网络中的 SSH [关闭]
【发布时间】:2021-07-21 06:52:02
【问题描述】:

我有大约 50 台计算机需要能够建立 ssh 连接。但是我必须在做 ssh-copy-id 时不输入每个人的密码来做这件事。我试图在 ssh 中禁用密码授权,但它不起作用,仍然要求输入密码。我知道每个 IP,但我认为是否有任何方法可以在没有密码的情况下进行连接?如果生病去找每个人并要求他们在他们的 PC 上输入密码也是可以接受的。谢谢

【问题讨论】:

  • 将您机器的 id-rsa.pub 密钥添加到每个用户的autorized_keys。
  • 试过了,第一次连接还是需要至少输入一次密码

标签: linux networking ssh


【解决方案1】:

来自ssh-copy-id(1)

默认情况下,它通过将密钥附加到远程用户的 ~/.ssh/authorized_keys 来添加密钥(如果需要,创建文件和目录)。

由于所有 ssh-copy-id 所做的只是将您的公钥(通常 ssh-keygen 将在 ~/.ssh/id_rsa.pub 中创建它)复制到 ~/.ssh/authorized_keys 文件中,如果您想避免在 ssh-copy 中输入 50 个密码- id 你只需要找到一种方法将你的密钥附加到 50 个文件中。我可以为此想出多种方法:

  1. 使用包含您的 pubkey 的拇指驱动器亲自访问每台计算机并手动复制它
  2. 准备一个 authorized_keys 文件,设置一个具有正确权限的匿名 ftp 服务器(或者可能是任何其他类型的服务器)并将其推送到那里(只有在您确定您不关心任何数据的情况下才有效)可能已写入预先存在的文件)
  3. 如果您已经设置了一个,请使用部署工具
  4. 如果每台机器都有一个用户,您可以反过来,使用文件/Web 服务器设置您的机器,使用从服务器获取密钥并将其添加到在authorized_keys 文件的底部,并要求每个用户下载并执行该文件
  5. 可能还有其他可能的方法,不过这些对我来说似乎是最简单的方法

【讨论】:

    【解决方案2】:

    您可以使用 'ssh-keygen' 和 'ssh-copy-id' 通过 ssh 登录远程 linux,无需密码:

    1.- 在本地主机上使用 ssh-key-gen 创建公钥和私钥:

    ssh-keygen 
    

    2.- 使用 ssh-copy-id 将公钥复制到远程主机

    ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host 
    

    3.- 无需输入密码即可登录远程主机

    ssh remote-host
    

    你有更多信息this documentation

    【讨论】:

    • ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.88.83 /usr/bin/ssh-copy-id: INFO: 要安装的密钥的来源: "/home/username/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: 尝试使用新密钥登录,过滤掉任何已经安装的 /usr/ bin/ssh-copy-id: INFO: 1 key(s) still be installed -- 如果现在提示您安装新密钥 user@192.168.88.83's password: 仍然要求通过,也许我需要以某种方式在远程主机上配置 ssh?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多