我正在使用 kubuntu 并使用以下命令生成了一个密钥:
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
我在这里输入了密码和位置:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/b/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/b/.ssh/id_rsa.
Your public key has been saved in /home/b/.ssh/id_rsa.pub.
我向主机发送了公钥文件,当我尝试克隆 git 存储库时,它要求我输入密码(他自己的密码,我没有)。另一边他们说一切正常。
我有三个文件/.ssh
:known_hosts、mykey.txt(私钥)和mykey.txt.pub(公钥)。
我该怎么做才能克隆存储库而不要求我输入密码?
编辑
我不知道服务器端的情况。我猜他们有 ssh,并且他们使用了该命令,因为他们以前这样做过。
答案1
根据 ssh-keygen 的输出,密钥已保存到 id_rsa 和 id_rsa.pub,这也是它们通常保存的位置。如果您将它们重命名为 mykey.txt 和 mykey.txt.pub,则需要将它们重命名回来。
答案2
你没有说明将公钥文件放在远程主机的哪个位置。Ssh 附带了便捷脚本ssh-copy-id
(尽管这会发送全部您的公钥,这可能不是您想要的)。
你的私钥的实际文件名是什么?id_rsa?否则ssh-add ~/.ssh/mykey.txt
每次登录时可能会有用。
您并没有说 git 是否确实在使用 ssh。
所有这些都可以通过您尝试的实际日志来澄清。