SSH简介

SSH(Secure Shell的缩写):是建立在应用层和传输层基础上的安全协议。

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。


SSH的使用

无选项参数运行 SSH

ssh 192.168.0.2

注意:当你第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。如果你回答的是 NO,SSH 将不会继续连接,只有回答 Yes才会继续。输入"yes"后,系统会将远程主机的密钥加入到你的主目录下的 .ssh/hostkeys下,这样你就可以继续操作了。下一次再登陆此主机时,SSH 就不会提示确认消息了。对此主机的真实验证信息已经默认保存在每个用户的 /用户主目录/.ssh 文件里。


指定登陆用户

ssh -l root 192.168.0.2或者 ssh root@192.168.0.2

指定端口

SSH 默认使用的端口号是 22。大多现代的 Linux 系统 22 端口都是开放的。如果你运行 ssh 程序而没有指定端口号,它直接就是通过 22 端口发送请求的。

一些系统管理员会改变 SSH 的默认端口号。就要使用 -p 选项,后面在加上 SSH 端口号。

ssh root@192.168.0.2 -p 1234


SSH免密码登录原理(****理解*****)

非对称加密算法

    在日常的工作生产中, 我们经常需要进行数据的通讯,开发人员经常需要对数据进行加解密操作,以保证数据的安全。数据的加密算法非为对称加密和非对称加密两种,常用的DES、三重DES、AES等都属于对称加密,即通过一个密钥可以进行数据的加解密,密钥一旦泄漏,传输的数据则不安全。

    非对称加密算法的核心源于数学问题,它存在公钥和私钥的概念,要完成加解密操作,需要两个密钥同时参与。我们常说的“公钥加密,私钥加密”或“私钥加密, 公钥解密”都属于非对称加密的范畴,后文中讲到的RSA算法也一种典型的非对称加密算法。公钥加密的数据必须使用私钥才可以解密,同样,私钥加密的数据也 只能通过公钥进行解密。

    相比对称加密,非对称加密的安全性得到了提升,但是也存在明显的缺点,非对称加解密的效率要远远小于对称加解密。所以非对称加密往往被用在一些安全性要求比较高的应用或领域中。



在SSH安全协议的原理中, 是一种非对称加密与对称加密算法的结合:

SSH免密码登录原理_一律IT

说明:

1.首先在client端执行ssh-keygen -t rsa生成一对钥匙id_rsa(私钥)和id_rsa.pub(公钥)

2.client执行ssh-copy-id client itcast01端生成autherired_keys文件并保存了client机器上的id_rsa.pub信息内容

3.clientitcast01发送一个ssh请求

4.请求在传输中带有client端机器发送的指令信息,指令信息如(root@client加命令)

5.Client接收到itcast01的信息后,会根据(root@Client+指令等)authorized_keys中进行查找,如果没找到,向client返回需要输入密码,如果找到itcast01会随机生成一个字符串,自已保存一份,然后使用client的公钥进行加密。

6.将加密后的字符串发送给client

7.client接收到加密后的字符串,用自已的私钥进行解密。

8.将解密后的字符串再发送给itcast01

9.itcast01接收client发送的解密后的字符串与原来的字符串进行比对,如果一致,可以免密码登录。


SSH免密码登录的配置(***必须掌握***)

生成ssh免登陆密钥


首先将需要设置免登陆的服务器ip和地址写入到/etc/hosts文件中

比如

192.168.0.204 aaa

192.168.0.205 bbb

192.168.0.206 ccc

然后将/etc/hosts scp /etc/hosts 192.168.0.206:/etc/

这样每台服务器都可以使用绑定的名字来回访问不用输入IP了


#进入到我的home目录

cd ~/.ssh


ssh-keygen  -t  rsa (四个回车)

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)


将公钥拷贝到要免登陆的机器上

ssh-copy-id 到某太服务器的IP或IP绑定的名称

比如 ssh-copy-id 192.168.0.204或aaa