可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Every time I use git to interact with a remote, such as when pulling or pushing, I am shown the following message:
Warning: Permanently added '...' (RSA) to the list of known hosts.
How can I prevent this annoying message from displaying? It is only an annoyance—everything functions properly.
回答1:
Solution: create a ~/.ssh/config
file and insert the line:
UserKnownHostsFile ~/.ssh/known_hosts
You will then see the message the next time you access Github, but after that you'll not see it anymore because the host is added to the known_hosts
file. This fixes the issue, rather than just hiding the log message.
This problem was bugging me for quite some time. The problem occurs because the OpenSSH client compiled for Windows doesn't check the known_hosts file in ~/.ssh/known_hosts
ssh -vvvvvvvvvvvvvvvvvvv git@github.com
debug3: check_host_in_hostfile: filename /dev/null
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug3: check_host_in_hostfile: filename /dev/null
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
回答2:
Add the following line to your ssh config file ($HOME/.ssh/config):
LogLevel=quiet
If running ssh from the command line add the following option to the command string:
-o LogLevel=quiet
For example, the following prints out the gcc version installed on machine.example.org (and no warning):
ssh -o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
-o LogLevel=quiet \
-i identity_file \
machine.example.org \
gcc -dumpversion
回答3:
Set LogLevel
to ERROR
(not QUIET
) in ~/.ssh/config
file to avoid seeing these errors:
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
LogLevel ERROR
回答4:
That message is from SSH, which is warning you that you are connecting to a host which you've never connected to before. I wouldn't recommend turning it off, since it would mean that you might miss a warning about a host key changing, which can indicate a MITM attack on your SSH session.
回答5:
To suppress warning messages for ssh
you can add the following lines to ~/.ssh/config
:
Host *
LogLevel error
That will disable warnings but not error messages. Like the other settings in ~/.ssh/config
you can configure the LogLevel
on a per-host basis if you want a more finegrained control.
回答6:
It mainly means there are changes for the key for that host ~/.ssh/known_hosts
, and it will not automatically UPDATE it. Therefore every time you get this warning message.
This happens often for the connecting to the re-created virtual machines, which changes the key with the same IP address
Solution
If you only have one entry, then you can delete the ~/.ssh/known_hosts
file, and after first connection, that the key will be there, and no warning messages after that.
If you have multiple entries, then you can use command below to remove
$ ssh-keygen -R <hostname>
It works fine for me
回答7:
If you are using a repository from GitHub, consider using the HTTPS version of the URL instead, to sidestep this problem entirely:
![](https://www.manongdao.com/static/images/pcload.jpg)
If you clone your repository from within the Windows GitHub application, this is what it uses for the remote URL. Maybe they know something we don't know.
回答8:
I have the same question, and I found there is not a .ssh
file in my ~
. So I just create the .ssh
directory under ~
path, and the issue solved.
回答9:
I got into the same issue when I started using a Windows machine. In my case it was because my SSH setup was not done. Github has a very precise documentation on the SSH setup. Once that's taken care, the issue was resolved.
https://help.github.com/articles/checking-for-existing-ssh-keys/
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
回答10:
Add ssh key
ssh-keygen -t rsa -b 4096 -C "abc@abc.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/bitbucket_rsa
crate config file
crate ~/.ssh/config
add below line.
UserKnownHostsFile ~/.ssh/known_hosts
Then add pub key and clone your repository... Done.....
回答11:
I had faced the same error in Linux/Cent OS VM and it was because the IP was changing after restart. In order to get around this problem, I defined a static IP in the network and added that entry to /etc/hosts file. For static IP mention a slightly higher range value. For example if your current IP (ipconfig/ifconfig) is 192.168.0.102, next time after restart this may become 192.168.0.103. So define your static IP in IPV4 settings as 192.168.0.181 which should do the trick.
回答12:
I am taking my solution down due to continued downvotes.
It was the best solution without actually hacking the source code of the SSH client itself.
If someone is interested, check the edit history.