~/.ssh/known_hsots文件

在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that the RSA host key has just been changed.The fingerprint for the RSA key sent by the remote host is36:68:a6:e6:43:34:6b:82:d7:f4:df:1f:c2:e7:37:cc.Please contact your system administrator.Add correct host key in /u/xlian008/.ssh/known_hosts to get rid of this message.Offending key in /u/xlian008/.ssh/known_hosts:2RSA host key for 135.1.35.130 has changed and you have requested strict checking.Host key verification failed.

比较奇怪,于是研究了一下。 ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。我在上面列出的情况,就是这种情况。

原因:一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的~/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。

有以下两个解决方案:

1. 手动删除修改known_hsots里面的内容;

2. 修改配置文件“~/.ssh/config”,加上这两行,重启服务器。

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

优缺点:

1. 需要每次手动删除文件内容,一些自动化脚本的无法运行(在SSH登陆时失败),但是安全性高;

2. SSH登陆时会忽略known_hsots的访问,但是安全性低;

=======END=======

时间: 2024-07-30 10:19:56

~/.ssh/known_hsots文件的相关文章

Linux SCP 命令: 利用SSH传输文件

在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp [email protected]:/path/filename /var/www/local_dir(本地目录) 例如scp [email protected]:/var/www/test.txt  把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录) 2.上传本地文件到服务器scp /path/filename [email pr

ssh框架文件上传下载

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Author" content="BuNuo"> <meta name="Keywords" content="文件上传下载"> <meta name="

linux与linux,linux与windows之间用SSH传输文件

linux与linux,linux与windows之间用SSH传输文件linux与linux之间传送文件:scp file [email protected]:文件地址    例: scp abc.txt [email protected]:/home/endall/abc.txt windows与linux之间传送文件:笔者用putty的内置PSCP.其它如 SSH Secure File Transfer Client 先在WIN的DOS下,PUTTY目录下及PSCP文件所在目录. pscp

利用SSH传输文件

在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp [email protected]:/path/filename /var/www/local_dir(本地目录) 2.上传本地文件到服务器scp /path/filename [email protected]:/path 例如scp /var/www/test.php [email protected]:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.10

[转]利用ssh传输文件

http://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html 在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp [email protected]:/path/filename /var/www/local_dir(本地目录) 例如scp [email protected]:/var/www/test.txt  把192.168.0.101上的/var/www/test.txt 的文件下载到/

用scp命令来通过ssh传输文件,ssh推送.py程序到CentOS7服务器端出现lost connection错误

ssh推送.py程序到CentOS7服务器端运行出现lost connection错误 (base) F:\workspace>dir 驱动器 F 中的卷是 新加卷 卷的序列号是 C2B9-6277 F:\workspace 的目录2019/03/13 16:44 <DIR> .2019/03/13 16:44 <DIR> ..2019/03/13 16:47 <DIR> .idea2019/03/13 10:11 <DIR> .ipynb_check

Windows与Ubuntu通过ssh传文件

ubuntu安装ssh sudo apt-get install openssh-server 2.启动shh服务 sudo /etc/init.d/ssh start 3.ssh常用命令 从服务器上下载文件 scp [email protected]:/path/filename /var/www/local_dir(本地目录) 例如scp [email protected]:/var/www/test.txt  把192.168.0.101上的/var/www/test.txt 的文件下载到

使用rsync+inotify-tools+ssh实现文件实时同步

在某些服务器架构中,会遇到文件同步问题,例如需要做站点镜像备份,同步文件到多个CDN节点等.需要解决的主要有两个问题 1.如何实现文件同步问题? 2.何时执行同步操作? 文件同步可以使用rsync+ssh,什么时候自行同步操作呢?可能部分人会想到cron,这个没错,可以实现的,但是确实有点浪费资源,因为cron并不知道文件是否被修改过,只是不停的周期性的执行,如果文件修改后再执行同步操作,不修改就不执行那应该比较好,其实inotify就可以做到,只要你的服务器不是古董级别的,就支持inotify

scp ssh 拷贝文件夹

scp -i .ssh/key -P 端口 -r [email protected]域名:远程文件夹 本地文件夹 -i : key文件 -P : 端口 -r :文件夹