我使用此命令创建了用户并生成了密钥
root# mkdir /usr/share/foreman/.ssh
root# chmod 700 /usr/share/foreman/.ssh
root# chown user:user/usr/share/foreman/.ssh
root# su user -s /bin/bash
user$ ssh-keygen
然后尝试在用户和 root 之间复制密钥(在同一服务器上)
user$ ssh-copy-id [email protected]
user$ ssh [email protected]
但是当尝试ssh-copy-id
root时会要求输入密码。不知道为什么。
在互联网上发现评论 UsePAM 可以解决该问题,但对我不起作用。
#UsePAM yes
我的 sshd_config 中也允许此选项
PasswordAuthentication yes
答案1
命令
ssh-copy-id [email protected]
工作原理是通过 SSH 连接到服务器并将您的 SSH 公钥复制到~/.ssh/authorized_keys
.如果您还没有公钥身份验证,在此期间通过 SSH 连接到服务器时,系统会要求您输入密码。