一.SSH协议简介:

SSH 为 Secure Shell 的缩写,是一种网络安全协议,专为远程登录会话和其

他网络服务提供安全性的协议。通过使用 SSH,可以把传输的数据进行加密,有


效防止远程管理过程中的信息泄露问题。


从客户端来看,有两种验证方式:基于密码、基于密钥

1. 用户名密码验证方式

linux ssh 添加加密算法 ssh 加密方式_服务端

说明:
(1) 当客户端发起 ssh 请求,服务器会把自己的公钥发送给用户;
(2) 用户会根据服务器发来的公钥对密码进行加密;
(3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,

则用户登录成功。

2. 基于密钥的登录方式

linux ssh 添加加密算法 ssh 加密方式_ssh_02

说明:
(1) 首先在客户端生成一对密钥(公钥、私钥);
(2) 客户端将生成的公钥拷贝到需要访问的服务端机器上;
(3) 当客户端再次发送一个连接请求,包括 ip、用户名;
(4) 服务端得到客户端的请求后,会到 authorized_keys 中查找,如果有相
应的 IP 和用户,就会随机生成一个字符串,例如:qwer;
(5) 服务端将使用客户端拷贝过来的公钥对随机字符串 qwer 进行加密,然后
发送给客户端;
(6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后
的字符串发送给服务端;
(7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果

一致,就允许免密码登录。

二.OpenSSH  使用


OpenSSH 是 SSH 协议的免费开源实现。
OpenSSH 由客户端和服务端的软件组成。服务端是一个守护进程(daemon),
他在后台运行并响应来自客户端的连接请求。服务端一般是 sshd 进程,提供了
对远程连接的处理。
客户端包含 ssh 程序以及像 scp(远程拷贝)、slogin(远程登陆)、sftp(安
全文件传输)等其他的应用程序。
默认情况下,CentOS 系统会自带安装 OpenSSH 服务。




linux ssh 添加加密算法 ssh 加密方式_linux ssh 添加加密算法_03



使用示例: 配置 node-1 至 node-2 机器的免密登录。
a) 在 node-1 机器上
ssh-keygen -t rsa [dsa] 按四下回车
生成密钥文件和私钥文件 id_rsa,id_rsa.pub
b) 将公钥拷贝给 node-2 机器
ssh-copy-id node-2
首次链接需要输入用户密码、验证成功后后续免密登陆。