我有两个用户,每个用户都有自己的运行 Ubuntu 的计算机。我想从另一个用户(例如客户端 PC)远程访问其中一个用户(例如桌面服务器)。
我尝试按照此答案中的相关部分启用基于公钥的身份验证(在家庭局域网中使用 SSH 连接两台计算机)我从客户端电脑上的命令开始
ssh-keygen -t rsa -b 4096
设置保存密钥和密码的文件后,我启动以下命令:
ssh-copy-id [email protected]
其中 emanuele@emanuele-desktop 是我想要远程访问的桌面服务器的 user@comp
/usr/bin/ssh-copy-id: ERROR: No identities found
知道我错过了什么吗?
答案1
ssh-copy-id
期望用户的公钥文件位于~/.ssh
- 具体来说:
The default_ID_file is the most recent file that matches: ~/.ssh/id*.pub, (excluding those that match ~/.ssh/*-cert.pub) so if you create a key that is not the one you want ssh-copy-id to use, just use touch(1) on your preferred key's .pub file to reinstate it as the most recent.
相应地,这就是ssh-keygen
默认写入生成的密钥的地方 - 如果您在运行时选择了非默认文件位置ssh-keygen
,则可以ssh-copy-id
使用以下选项指定该-i
位置:
-i identity_file Use only the key(s) contained in identity_file (rather than look‐ ing for identities via ssh-add(1) or in the default_ID_file). If the filename does not end in .pub this is added. If the filename is omitted, the default_ID_file is used.