linux服务之OpenSSH服务


一: 非对称加密方式原理:

1:传送方将数据用Hash算法得到报文摘要,用自己的私钥加密,得到数字签名。

2: 传送方用接收方的公钥将明文和数字签名进行加密,然后发送给接收方。

3:接收方收到加密报文,用自己的私钥解密得到数据和数字签名。

4:接收方用传送方的公钥解密数字签名,得到报文摘要,再用公开的Hash算法算出保报文的摘要,与传送方的对比,若果相同,证明真实,否则被篡改。

二: Open SSH 使用的就是非对称加密的方式,来进行远程控制。

SSH的密码验证过程

1:首先,客户端第一次连接,服务端将公钥发给客户端,存放在 ~/.ssh/known_hosts 文件中。

2:客户端随机生成一个字符串,用服务器的公钥加密,传送给服务端。

3:服务端用自己的私钥解密,得到客户端的字符串,然后再次发送给客户端,验证服务器端的真假。

4:客户端通过用户和密码来验证自己的合法性。

SSH的公私钥对验证步骤:

1: 客户端使用ssh-genkey 生成一对公私钥。分别是 ~/.ssh/id_rsa (私钥) ~/.ssh/id_rsa.pub(公钥) 。

2:使用 ssh-copy-id root@172.16.1.1 将自己的公钥传送到服务器的 ~/.ssh/authorized_keys 文件中,该文件在使用该命令的时候自动在服务端生成。文件中存放的是各个客户端的公钥的集合。

三:Open SSH的配置文件。

1: 客户端配置文件 /etc/ssh/ssh_config 基本上不用配置参数。

2:服务端配置文件 /etc/ssh/sshd_config

a. 将PermitRootLogin 字段改为 no 则可以限制管理员使用SSH远程,可以提高安全性。

b. port 字段可以改变sshd的侦听端口

3:客户端命令在 /usr/bin/ssh 服务端命令在 /usr/sbin/sshd

4:Windows的SSH远程管理软件有 SecureCRT 和 WinSCP.

5: 在Windows系统中使用SecureCRT时,在服务器中安装一个lrzsz的rpm包,可以直接将文件从Windows中拖入到终端上传到服务器中。

相关内容