AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 865985
Accepted
showkey
showkey
Asked: 2016-12-30 16:27:24 +0800 CST2016-12-30 16:27:24 +0800 CST 2016-12-30 16:27:24 +0800 CST

如何为多个远程服务器设置无密码 ssh 登录?

  • 772

机器 A 是我的本地电脑。
机器 B 是我的远程 vps 电脑,它的 ip 是 vps_ip1。
机器C是另一台远程vps pc,它的ip是vps_ip2。
如下设置 ssh 自动登录(无密码)。

第 1 步:在机器 A 上创建身份验证 SSH-Kegen 密钥

ssh-keygen -t rsa  -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):    #it is a comment ,input nothing just enter
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

Step2 将生成的公钥上传到机器B

scp  /root/.ssh/id_rsa.pub root@vps_ip1:/root/.ssh/authorized_keys

Step3 在机器B上设置权限

ssh root@vps_ip1 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

现在我可以使用 ssh 命令登录机器 B。

ssh  root@vps_ip1

机器 C 的步骤几乎相同。

第 1 步:在机器 A 上创建身份验证 SSH-Kegen 密钥

ssh-keygen -t rsa  -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/myvps
Your identification has been saved in /root/.ssh/myvps.
Your public key has been saved in /root/.ssh/myvps.pub.

Step2 将生成的公钥上传到机器C

scp  /root/.ssh/myvps.pub root@vps_ip2:/root/.ssh/authorized_keys

Step3 在机器C上设置权限

ssh root@vps_ip2 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

现在我无法使用 ssh 命令登录机器 C。

ssh  root@vps_ip2

它们之间的唯一区别在于步骤1,输入要保存密钥的文件,这有关系吗?
为什么我的公钥不能保存为 /root/.ssh/myvps.pub?
在我的情况下,机器 A 必须 ssh 两个远程服务器,所以我必须将其他远程服务器分配为不同的名称。
如何解决?

ssh
  • 2 2 个回答
  • 5900 Views

2 个回答

  • Voted
  1. Best Answer
    user4556274
    2016-12-30T16:32:58+08:002016-12-30T16:32:58+08:00

    为什么我的公钥不能保存为 /root/.ssh/myvps.pub?

    您的密钥可以用您喜欢的任何名称保存。但是,ssh客户端只会自动搜索几个标准名称,id_rsa, id_dsa, id_ecdsa, 或id_ed25519. 如果要以任何其他名称保存它,则需要在命令行中指定文件名:

    ssh -i ~/.ssh/myvps root@vps_ip2
    

    或在您的~/.ssh/config文件中:

    Host vps_ip2
        IdentityFile ~/.ssh/myvps
        User root
    
    • 2
  2. mikaelfs
    2020-04-20T11:36:05+08:002020-04-20T11:36:05+08:00

    如果要为多个远程服务器设置无密码 SSH,则无需为每个远程服务器创建不同的公钥。相反,您只需创建一次密钥对,然后将相同的公钥上传到所有远程服务器。

    因此,如果您想使用无密码 SSH 连接 A->B 和 A->C,您只需在 A 上执行一次 SSH 密钥对生成。

    ssh-keygen -t rsa  -P ''
    

    这将为 A 创建~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。公钥文件 ( ~/.ssh/id_rsa.pub) 应导出/复制到 B 和 C。

    您可以通过 SSH 使用远程命令执行或ssh-copy-id将公钥复制到 B 和 C。

    使用远程命令执行:

    TARGETS=("vps_ip1" "vps_ip2"); PUBKEY=$(cat /root/.ssh/id_rsa.pub); for target in "${TARGETS[@]}"; do ssh "root@$target" "umask 0077; mkdir -p .ssh; echo $PUBKEY >> /root/.ssh/authorized_keys"; done;
    

    使用 ssh-copy-id:

    TARGETS=("vps_ip1" "vps_ip2"); PUBKEY=$(cat /root/.ssh/id_rsa.pub); for target in "${TARGETS[@]}"; do ssh-copy-id "root@$target"; done;
    

    有关针对多个远程服务器的设置的更多详细信息,请参阅本文。

    • 1

相关问题

  • Gnome-terminal 快捷方式在选项卡中打开多个 ssh 连接

  • 通过 SSH 禁用密码访问?

  • ssh 如何使用多个私钥?

  • 如何通过一个 SSH 连接拥有多个终端会话?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve