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.
容器之间ssh设置免密登录,容器是Ubuntu系统,docker是桌面版,请问这是什么问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-07-23 22:22关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题是因为在尝试使用SSH Copy ID命令时,您尝试安装了一个新的公钥,但是由于权限问题,您无法继续连接。为了解决此问题,您可以按照以下步骤操作:
- 确保您具有适当的权限来安装新公钥:在您的Docker容器中运行
sudo命令以增加权限。
sudo apt-get update && sudo apt-get install openssh-client -y-
安装SSH服务并配置用户:确保您的Docker容器已安装SSH服务,并且用户已经配置了SSH访问。
-
创建一个名为
.ssh的目录并在其中创建一个名为id_rsa的文件:mkdir ~/.ssh touch ~/.ssh/id_rsa -
使用
ssh-keygen命令生成一个新的密钥对:ssh-keygen -t rsa -
将生成的私钥添加到
.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 -
运行
ssh-copy-id命令将新公钥复制到远程服务器:ssh-copy-id root@pbs2
现在,您应该能够通过SSH与pbs2服务器进行免密登录。如果您仍然遇到问题,请检查您是否正确设置了用户的SSH密钥。
解决 无用评论 打赏 举报- 确保您具有适当的权限来安装新公钥:在您的Docker容器中运行