目录
一、SSH远程管理
为客户机提供安全的Shell环境,用于远程管理,默认端口:TCP 22。比较早的telnet、rsh等工具有很大优势,SSH是目前应用最为广泛的服务器远程管理方式。
ssh是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。
ssh是对通信双方数据输出进行加密处理(包含用户的口令)。
ssh具有很好的安全性。
ssh客户端采用22端口。
ssh_config 针对客户端的配置文件
sshd_config 针对服务端的配置文件
1.ssh的组成结构
①传输协议:ssh-trans
服务认证:保密性,完整性以及压缩功能。
一般运行在tcp/ip的连接上,也可能用于其他可靠的数据流上。
ssh-trans:提供加密技术,密码主机认证,数据完整性保护以及数据完整性保护以及数据压缩
密码主机认证:基于主机。不能进行用户认证
②用户认证协议:ssh-userauth
向服务器提供客户端用户鉴别的功能
运行级别在ssh-tras之上
开始执行用户认证,从底层协议接受会话表示符,认证私钥的所有权
root----认证用户是否存在,在服务端有没有这个用户----提示输入用户密码-----认证密码是否和用户相符合----登录成功
③连接协议ssh-cnnect
多个加密隧道分成逻辑通道
运行级别在用户认证之上,提供了交互式的登录会话,远程命令的执行,转发tcplip的连接
连接协议----提供交互式登录----用户认证----认证用户是否存在,密码和用户是否匹配----传输协议----建立连接(数据加密,数据压缩)
2.服务端
服务端配置文件位置/etc/ssh/sshd_config
#ListenAddress 不变 (监听地址)
#LoginGraceTime 2m (标识掉即可)
#PermitRootLogin NO (禁止root登录)
#MaxAuthTires 6 (最大密码输入次数)
相关命令:
ssh [用户名]@[IP地址] #远程连接命令行格式
ssh -p [端口号] [用户名]@[IP地址] #指定端口号远程连接
scp 远程复制
scp的作用是将远程主机的文件复制到本机
scp root@[ip地址]:[路径文件] [本机路径]
意思是:将 [ip地址] 下的 [路径文件] 复制到 [本机路径]
scp -rp [端口号] root@[ip地址]:[目录] [目录]
指定端口号,远程复制主机目录到本机
sftp
sftp是基于ssh的加密技术来的,传输效率比ftp低,但安全性更高,语法与ftp相同
命令:sftp [用户名]@[IP地址] #远程连接主机(加密)
在sftp的远程操作连接之中,也可以正常进行get下载和put上传等操作
用户登录限制
进行用户登录限制(允许或拒绝指定用户登录权限)
AllowUsers #允许指定用户登录(可多用户指定,多用户之间用逗号隔开)
DenyUsers #拒绝指定用户登录(可多用户指定,多用户之间用逗号隔开)
@[IP地址] #只能从指定的终端允许或者拒绝登录
具体修改配置文件位置在/etc/ssh/sshd_config内修改(在最下面一行进行编辑)
格式:AllowUsers/DenyUsers [用户名]
重启服务,配置文件生效
命令:systemctl restart sshd
二、构建密钥对
1.构建过程
- 第一步:
创建密钥对
私密钥:id_rsa
公密钥:id_rsa.pub
- 第二步:上传公钥文件 id_rsa.pub
- 第三步:导入公钥信息
公钥库文件位置 ~/.ssh/authorized_keys
- 四步:使用密钥对校验方式
2.ecdsa做密钥对,实现免密登录
三、补充 TCP warooers
tcp warooers 相当于防火墙,但是只是针对tcp服务,tcp服务程序的端口.
保护机制的实现方式:
本身不需要运行tcpd程序
vim /etc/hosts.deny或/etc/hosts.allow中
sshd:192.168.234.123(指定ip地址)
sshd:192.168.234.0/24(指定网段)
sshd:ALL (允许所有主机)
sshd:text (指定主机名,不怎么使用)
- /etc/hosts.deny:允许所有,拒绝个别(相当于黑名单)
- /etc/hosts.allow:允许个别,拒绝所有(白名单)