Linux ssh命令详解,linuxssh命令详解


今天用ssh连接目标主机突然报了一个错误连接不上

RSA host key for ip has changed and you have requested strict checking.

Host key verification failed.

这里写图片描述

google了一下,直接使用命令ssh-keygen -r IP_ADDR直接清空之前的连接的信息,重新生成密钥文件。

作为新手的我,没搞清楚是什么回事。于是去学习了一波…..

其实从字面就可以知道原因的,可是自己就是不愿意去读认真的读一下这些信息,这就告诫我以后必须得先把错误信息读一遍再去查找资料~

Add correct host key in /Users/caijun/.ssh/known_hosts to get rid of this message.就是说以前的链接失效了,就比如说服务器或许重新安装,或者已经更改了公钥,但是你的客户端.ssh/known_hosts还是保存的还是原来的“钥匙”,所以你必须清空以前的,添加新的。

SSH - Security SHell

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。–百度百科

其默认监听端口:22,由于黑客常喜欢扫描22端口,建议更改服务器上的SSH默认端口。

SSH认证机制

基于口令

基于密钥

- 客户端在本地生成一对密钥

- 客户端将公钥复制到服务器,要登陆的用户的家目录下的隐藏目录.ssh中的一个名为authorized_keys或authorized_keys2中

配置过程

1. 生成密钥对,客户端

ssh-key -t rsa

生成的密钥默认保存至当前家目录下的.ssh下的id_rsa,公钥在id_rsa.pub文件中

这里写图片描述

这里的known_hosts就是你以前连接过的信息,而我出的错误也就是因为这个文件的内容是目标主机更改之后的ssh连接信息,导致不能连接

2. 复制密钥至远程主机:

ssh-copy-id -i 公钥文件 登陆用户@远程ip地址

这里写图片描述

可以看到,以后再连接目标主机,就直接登陆,不再需要密码了。

相关内容