一、概述
ssh是一种安全通道协议,主要实现字符界面的远程登录、远程复制等功能。ssh 协议的优点是数据传输是加密和压缩的,可以防止信息泄露和提高传输速度,是一种可靠的远程加密协议。telent 协议的数据传输是明文传输,无压缩,本质上是不安全的,存在被窃听的风险。
二、ssh 协议软件
ssh 协议软件名:openssh ,是centos 7上自带的开源软件,
ssh 服务端的配置文件 :/etc/ssh/sshd_config
ssh 客户端的配置文件 :/etc/ssh/ssh_config
三、ssh 加密传输的原理
1、客户端首次向服务端发起连接,服务端会随机生成一个会话id ,将服务端的公钥和会话id 发给客户端;
2、客户端收到服务端的会话id 和公钥,会用客户端自己的公钥和会话id 做运算,计算出一个res 值,再用服务端的公钥加密,将加密结果发回服务端;
3、服务端收到结果后,会用自己的密钥解密得到客户端的公钥和会话id ,因为会话id 服务端是已知的,所以就可以得到客户端的密钥;
4、最后双方都可以得到对方的公钥,之后的所有通讯都会被加密 。

四、登录
命令:ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p

连接服务端时会发送公钥给客户端,公钥位置在 ~/.ssh/known_hosts


ssh 远程连接最后可以直接跟命令

五、服务端常用配置项
ssh 服务端的配置文件为 /etc/ssh/sshd_config
1、修改端口号,可以防止过多人来访问
vim /etc/ssh/sshd_config

2、修改监听地址的IP 地址,0.0.0.0 表示侦听所有地址
vim /etc/ssh/sshd_config

3、设置白名单
vim /etc/ssh/sshd_config

4、禁用反向解析,可以提高速度
vim /etc/ssh/sshd_config

5、不允许root用户登录
vim /etc/ssh/sshd_config

注意虽然阻止了root 但是普通用户可以使用su切换到root

需要彻底禁止root登录,需要修改 pam认证模块


6、用户登录失败服务器等待时间
vim /etc/ssh/sshd_config


六、使用密钥免交互登录
将公钥传给对面,可实现免交互,不需要再输入密码,直接登录




5301

被折叠的 条评论
为什么被折叠?



