fir*_*ant 15 ssh gnome-keyring ssh-agent ssh-keygen
我有一台运行 debian sid 的新机器,我在上面生成了一个新的 ssh 密钥对。我想找到一种方便的方法,使用我的旧 Ubuntu 机器及其密钥对将这个新密钥对复制到其他各种机器。我已禁用所有“远程”计算机的密码登录,因此我想使用旧计算机作为中间设备。在研究这个问题时,我发现了的手册页中作为示例ssh-copy-id
给出的确切情况。我按照示例访问 pi 零 running pihole
,但在帖子标题中出现错误。
总结该示例中的步骤,debian
具有新密钥对的计算机在哪里,sarp.lan
具有旧密钥对的计算机在哪里,并且pihole
是“远程”计算机,我做了:
但是,运行时ssh -v pihole
,我确实看到了输出
debug1: Server accepts key: /home/sarp/.ssh/id_rsa RSA SHA256:V74Y4EhlszaIzco6oxOtl86ALj/U8rhXO2XUpEftZLU agent
Run Code Online (Sandbox Code Playgroud)
我阅读了有关该主题的各种帖子,但没有一个解决方案适合我。以下是我尝试过的一些细节/事情:
.ssh/
echo $SSH_AUTH_SOCK
returns /tmp/ssh-a8Ol5O0XY9Fv/agent.1326
,并且我没有看到 keyring 守护进程正在运行ps aux
。ssh-add -l
正确显示第一张图片中可以看到的两个按键(一个来自旧机器,另一个来自新机器).ssh/config
从旧机器复制了,所以主机名/用户名/等。应该没事。让我知道我是否应该提供额外的有用信息,如果这是非常明显的事情,我深表歉意,但我在这里错过了什么?
小智 20
确保客户端上密钥目录和密钥的权限正确。~/.ssh 目录应该只对用户有执行、读取和写入权限。如果没有,则更改它们:
用户可以执行、读取和写入
chmod 700 ~/.ssh
对于私钥和 id_rsa,用户可以读写
chmod 600 ~/.ssh/id_rsa
对于公钥,用户可以读写,其他人可以读
chmod 644 ~/.ssh/*.pub
当问题不是下面的访问权限时~/.ssh
(如您的详细列表所示),另一个选择可能是身份验证代理以某种方式挂起。
由于身份验证守护进程应该在消失时自动生成,因此您可以简单地尝试杀死它,例如使用killall ssh-agent
.
如果您也将 GPG 配置为充当 SSH 身份验证代理(从运行文件的路径判断,这里似乎不是这种情况,但对于阅读此答案的其他人来说),那么您应该杀死 GPG代理相反,例如与gpgconf --kill gpg-agent
.
归档时间: |
|
查看次数: |
22302 次 |
最近记录: |