cruise777 2021-03-25 10:36 采纳率: 0%
浏览 75

容器之间ssh设置免密登录,容器是Ubuntu系统,docker是桌面版,请问这是什么问题

root@pbs1:/# ssh-copy-id root@pbs2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'pbs2 (172.18.0.4)' can't be established.
ECDSA key fingerprint is SHA256:o9SNSaGPMMGoCGUmBqiGy4BWnJnh1Yzt8x0fIey5bZA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@pbs2's password:
Permission denied, please try again.

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-23 22:22
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是因为在尝试使用SSH Copy ID命令时,您尝试安装了一个新的公钥,但是由于权限问题,您无法继续连接。为了解决此问题,您可以按照以下步骤操作:

    1. 确保您具有适当的权限来安装新公钥:在您的Docker容器中运行 sudo 命令以增加权限。
    sudo apt-get update && sudo apt-get install openssh-client -y
    
    1. 安装SSH服务并配置用户:确保您的Docker容器已安装SSH服务,并且用户已经配置了SSH访问。

    2. 创建一个名为 .ssh 的目录并在其中创建一个名为 id_rsa 的文件:

      mkdir ~/.ssh
      touch ~/.ssh/id_rsa
      
    3. 使用 ssh-keygen 命令生成一个新的密钥对:

      ssh-keygen -t rsa
      
    4. 将生成的私钥添加到.ssh/authorized_keys文件中:

      echo "Host pbs2" >> ~/.ssh/authorized_keys
      echo "    HostName pbs2" >> ~/.ssh/authorized_keys
      echo "    User root" >> ~/.ssh/authorized_keys
      echo "    IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/authorized_keys
      
    5. 运行 ssh-copy-id 命令将新公钥复制到远程服务器:

      ssh-copy-id root@pbs2
      

    现在,您应该能够通过SSH与pbs2服务器进行免密登录。如果您仍然遇到问题,请检查您是否正确设置了用户的SSH密钥。

    评论

报告相同问题?