我在~/.config/ssh
中设置了ssh,而不是默认的~/.ssh
。
每次执行git pull
或git push
时,都会收到以下消息:
The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:....
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Failed to add the host to the list of known hosts (/Users/username/.ssh/known_hosts).
输入 yes 后,将主机添加到known_hosts
的下一步失败,但操作(git pull
和git push
)成功完成。
在操作完成后,没有~/.ssh
(因此也没有~/.ssh/known_hosts
)。
我的已知主机文件的位置是:~/.config/ssh/known_hosts
.
我已经做了:
ssh -o UserKnownHostsFile=~/.config/ssh/known_hosts -T git@github.com
和
eval $(ssh-agent)
ssh-add -K ~/.config/ssh/id_rsa
并使用pbcopy < ~/.config/ssh/id_rsa.pub
将SSH密钥添加到我的github配置文件中。~/.config/ssh/config
的内容:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.config/ssh/id_rsa
~/.config/ssh/known_hosts
的内容:
github.com,192.30.255.112 ssh-rsa ...
...
...==
192.30.255.113 ssh-rsa ...
...
...==
~/.config/ssh
的文件权限:
drwxr-xr-x 6 username staff 192 Aug 29 19:12 .
drwxr-xr-x 7 username staff 224 Aug 29 16:17 ..
-rw-r--r-- 1 username staff 83 Aug 29 19:01 config
-rw------- 1 username staff 3434 Aug 29 19:00 id_rsa
-rw-r--r-- 1 username staff 747 Aug 29 19:00 id_rsa.pub
-rw-r--r-- 1 username staff 803 Aug 29 19:31 known_hosts
编辑:
执行ssh -o UserKnownHostsFile=$HOME/.config/ssh/known_hosts git@github.com
得到:
git@github.com: Permission denied (publickey)
如何避免在每个git pull
和git push
处输入“yes”?
2条答案
按热度按时间pxiryf3j1#
按照this GitHub页面上的说明,我执行了
ssh -vT git@github.com
命令。它给出了以下输出:
“identity file”行末尾的“-1”表示SSH找不到要使用的文件。
我修改了this answer,以便全局配置私钥:
e0bqpujr2#
每次我收到警告-
修复:
1.打开文件-
nano ~/.ssh/config
1.下面这一行应该是-
因为-
这对我很有效。