有没有办法避免 ssh 打印这样的警告消息?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Run Code Online (Sandbox Code Playgroud)
虽然远程主机身份已更改,但我知道这很好,只是想摆脱此警告。
Eli*_*ynn 32
将此添加到您的 ~/.ssh/config 中:
Host 10.* # use your own pattern here, eg. *.example.com, example.*.com
StrictHostKeyChecking no # turn off the HostKey check
LogLevel ERROR # keep it from printing to STDOUT
UserKnownHostsFile /dev/null # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses `ssh` autocompletion, such as fish.
Run Code Online (Sandbox Code Playgroud)
Tim*_*imo 21
您可以删除该主机的行~/.ssh/known_host
(每个主机都有一行作为条目)。
替代方法是使用:
ssh -q -o "StrictHostKeyChecking no" ....
Run Code Online (Sandbox Code Playgroud)
只是使用-q
会ssh
默默地失败。
Jen*_*y D 20
四种方式:
要使用新的主机密钥连接一次系统而无需回答问题,请使用以下选项进行连接:
ssh -q -o "StrictHostKeyChecking no" this.one.host.name
Run Code Online (Sandbox Code Playgroud)
要永久删除所有系统的警告,请编辑您的~/.ssh/config
文件以添加以下行:
Host *
StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)
要永久删除这台服务器的所有警告,请编辑您的~/.ssh/config
文件并添加以下行:
Host this.one.hostname
StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)
要删除针对这台服务器的这一更改的警告,请从 中删除该服务器的主机密钥~/.ssh/known_hosts
。下次连接时,将添加新的主机密钥。
小智 9
不将主机密钥添加到默认的 $HOME/.ssh/known_hosts 有时是可取的。
使用-o UserKnownHostsFile=/dev/null
除了-q
和-o StrictHostKeyChecking=no
保持的known_hosts整洁。下面是一个例子:
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q user@scripts.local
Run Code Online (Sandbox Code Playgroud)