1、SSH服务器的配置
(1)SSH服务说明
默认端口:22
主配置文件:/etc/ssh/sshd_config
服务名:sshd
查看端口:netstat -anpt | grep sshd
重启ssh服务:systemctl restart sshd (更改完主配置文件一定要重启!)
ssh服务默认开启
修改端口号为2345,禁用反向解析,禁用root用户和空密码用户登录。
vim /etc/ssh/sshd_config
Port 2345 (修改监听端口为2345)
UseDNS no (禁用DNS反向解析)
PermitRootLogin no (禁用root用户远程登录)
PermitEmptyPasswords no (禁用空密码登录)
ListenAddress 172.16.16.22 (监听地址为172 .16.16.22)
Protocol 2 (使用SSH V2协议)
只允许zhangsan用户,lisi用户远程登录,lisi用户只能在1.20客户端远程登录
vim /etc/ssh/sshd_config
(添加)
AllowUsers zs ls@192.168.1.20
只拒拒绝zs用户,ls用户远程登录,拒绝1.20客户端登录
vim /etc/ssh/sshd_config
(添加)
DenyUsers zs ls@192.168.1.20
重启ssh服务
systemctl restart sshd
2、Linux客户端远程登录下载与上传
(1)分别使用zs,ls,root用户验证是否能远程登录。
ssh -p 2345 zs@192.168.1.10 (默认端口号22可以不用 -p)
ssh -p 2345 ls@192.168.1.10
ssh -p 2345 root@192.168.1.10
(2)使用scp命令在1.10上下载一个文件,将1.20的文件上传到1.10上。文件都放在 /tmp 下
使用touch命令创建文件
scp -P 2345 zs@192.168.1.10:/tmp/222.txt /tmp/ (将服务器上/tmp/222.txt下载到本地目录/tmp中)
scp -P 2345 /tmp/333.txt zs@192.168.1.10:/tmp/ (将/tmp/333.txt文件上传到服务器上的/tmp目录中)
3、Windows客户端客户端远程登录下载与上传
使用xshell远程登录
(1)验证使用zs用户xshell远程登录1.10服务器
(2)使用rz命令上传一个文件到服务器的/usr/src下。使用sz命令从服务器上下载一个文件
下载:
切换用户: su root
sz /路径/文件名 (下载文件)
上传:
切换用户: su root
进入目录:cd /usr/src
rz (上传文件)
4、密钥对登录
在1.20的linux客户端创建用户tom,并登录到系统中
useradd tom (客户端新建tom用户)
passwd tom (修改tom用户密码)
su tom (客户端切换tom用户)
生成密钥对
ssh-keygen -t ecdsa (客户端生成tom的公钥和私钥)
第一个提示:输入回车
第二和第三个提示:输入两次密钥短语(大于4位数,两次要一样)
将公钥上传到服务器的zs用户。
ssh-copy-id -p 2345 -i ~/.ssh/id_ecdsa.pub zs@192.168.1.10
验证是否有公钥文件
ll -a /home/zs/.ssh/ (在ssh服务器上操作)
验证密钥对方式登录
ssh -p 2345 zs@192.168.1.10
提示:输入密钥短语
验证成功后
exit 退出
5、TCP wrapper 保护
在ssh服务器设置策略,sshd服务只允许192.168.1.20和192.168.3.0网段登录,其他网段不允许登录。
vim /etc/hosts.allow (允许的服务)
vim /etc/hosts.deny (拒绝的服务)
vim /etc/hosts.allow
添加
sshd:192.168.1.20,192.168.3.
vim /etc/hosts.deny
添加
sshd:ALL
用客户端验证
Linux客户端
ssh -p 2345 ls@192.168.1.10
Windows客户端验证
使用Xshell认证