ssh远程控制
ssh远程控制
OpenSSH服务器
SSH协议
是一种安全通道协议
对通信数据进行了加密处理,用于远程管理
OpenSSH
服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件: /etc/ssh/sshd_config
服务监听选项
端口号、协议版本、监听地址IP地址
禁用反向解析
[aaa@qq.com ~]# vi /etc/ssh/sshd_config
.......
Port 22
ListenAddress 0.0.0.0
UseDNS![在这里插入图片描述](https://img-blog.csdnimg.cn/2020110115404989.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDM0NTA1OQ==,size_16,color_FFFFFF,t_70#pic_center)
no
用户登录控制
1、禁用root用户、空密码用户
2、限制登录验证时间、重试次数
3、AllowUsers、DenyUsers
登录验证方式
密码验证:核对用户名、密码是否匹配
**对验证:核对客户的**、服务端公钥是否匹配
生成公钥
[aaa@qq.com ~]# ssh-****** -t rsa
使用SSH客户端程序
ssh命令—远程安全登录
ssh aaa@qq.com
[aaa@qq.com ~]# ssh aaa@qq.com192.168.188.10
scp命令—远程安全复制
格式1:scp aaa@qq.com:file1 file2
格式2:scp file1 aaa@qq.com:file2
创建个a.txt
复制a.txt文件给cent-1下面的/opt/里面
查看cent1里面/opt/里面有没有a.txt
sftp命令—安全FTP上下载
sftp aaa@qq.comhost
下载
1、安全下载 两种方法第一种scp
[aaa@qq.com ~]#scp aaa@qq.com192.168.188.10:/opt/1 /root/
把192.168.188.10 root账户下面opt目录里面的1文件 下载到本地的root目录下
2、第二种本地2文件上传到192.168.188.20的root目录下
[aaa@qq.com ~]#scp /opt/2 aaa@qq.com192.168.188.20:/root/
3、sftp登录的是192.168.188.10的家目录
[aaa@qq.com ~]#sftp aaa@qq.com192.168.188.10
aaa@qq.com192.168.188.10's password:
Connected to 192.168.188.10.
sftp> ls
anaconda-ks.cfg initial-setup-ks.cfg 下载
公共 图片 文档
桌面 模板 视频
音乐
sftp>
构建**对验证的SSH体系
整体实现过程
第一步:本地创建**对
私钥文件:id_rsa
公钥文件:id _rsa.pub
第二步:上传公钥文件 id_rsa_pub
第三步:导入公钥信息到服务端
公钥库文件:~/.ssh/authorized_keys
第四步:使用**对验证方式
在客户机中创建**对
ssh-******命令
可用的加密算法:RSA、ECDSA或DSA
ssh-****** -t ecdsa
将公钥文件上传至服务器
任何方式均可(FTP、Email、SCP、HTTP…)
scp ~/.ssh/id_ecdsa.pub aaa@qq.com:/tmp
在服务器中导入公钥文本
1、将公钥文本添加至目标用户的公钥库
2、默认公钥库位置:~/.ssh/authorized_keys
客户端使用**对验证登录
验证用户:服务端的用户lisi
验证密码:客户端的用户zhangsan的私钥短语
第一种
192.168.188.10
[aaa@qq.com ~]#useradd zhangsan------------创建张三
[aaa@qq.com ~]#passwd zhangsan--------创建zhangsan密码
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[aaa@qq.com ~]#su zhangsan---------接换到zhangsan账户上
[aaa@qq.com root]$ ssh-****** -t rsa------创建**
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zhangsan/.ssh/id_rsa):
Created directory '/home/zhangsan/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/zhangsan/.ssh/id_rsa.
Your public key has been saved in /home/zhangsan/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Cjf5PIInVK7ivVgD1oNA1EY89nlmmcU8k+4e0emfXUU aaa@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|.o+. o . |
|. * B E|
|. o o o = + . . |
| . o = B o o .|
| + = O S o .|
| . o * = o . .|
| . * + = . . o .|
| . = + . o o . |
| o o. |
+----[SHA256]-----+
[aaa@qq.com ~]#gpasswd -a zhangsan wheel---------把张三加入wheel组里
正在将用户“zhangsan”加入到“wheel”组中
[aaa@qq.com root]$ cd /home/zhangsan----------切换到zhangsan
[aaa@qq.com ~]$ ls -lah
总用量 16K
drwx------. 6 zhangsan zhangsan 140 11月 1 14:24 .
drwxr-xr-x. 5 root root 44 11月 1 14:22 ..
-rw-------. 1 zhangsan zhangsan 32 11月 1 14:24 .bash_history
-rw-r--r--. 1 zhangsan zhangsan 18 8月 3 2017 .bash_logout
-rw-r--r--. 1 zhangsan zhangsan 193 8月 3 2017 .bash_profile
-rw-r--r--. 1 zhangsan zhangsan 231 8月 3 2017 .bashrc
drwxrwxr-x. 3 zhangsan zhangsan 18 11月 1 14:23 .cache
drwxrwxr-x. 3 zhangsan zhangsan 18 11月 1 14:23 .config
drwxr-xr-x. 4 zhangsan zhangsan 39 10月 2 20:45 .mozilla
drwx------. 2 zhangsan zhangsan 38 11月 1 14:24 .ssh
[aaa@qq.com ~]$
[aaa@qq.com .ssh]$ scp id_rsa.pub aaa@qq.com192.168.188.20:/tmp/-----把公钥拷贝到192.168.188.20的root账户下/tmp目录里
The authenticity of host '192.168.188.20 (192.168.188.20)' can't be established.
ECDSA key fingerprint is SHA256:HARj61TIf2yNOHao4IJx0sMpZn3k3JPxVso/0Dk56R0.
ECDSA key fingerprint is MD5:93:e3:e6:01:b6:77:1d:3a:3c:d5:19:3f:e2:bd:3c:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.188.20' (ECDSA) to the list of known hosts.
aaa@qq.com192.168.188.20's password:
Permission denied, please try again.
aaa@qq.com192.168.188.20's password:
id_rsa.pub 100% 398 100.8KB/s 00:00
[aaa@qq.com .ssh]$
192.168.188.20
[aaa@qq.com tmp]#useradd lisi-------创建lisi
useradd:用户“lisi”已存在
[aaa@qq.com tmp]#mkdir /home/lisi/.ssh------创建.ssh目录
[aaa@qq.com tmp]#cp id_rsa.pub /home/lisi/.ssh/-------把公钥复制到.ssh目录里
[aaa@qq.com tmp]#cat id_rsa.pub >> /home/lisi/.ssh/authorized_keys------生成加密
[aaa@qq.com tmp]#cat /home/lisi/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiVbiAiDg9WbdBvOzcBVNWeMOsZfUbC7/OvVMAuS8g1/JLFrx1A/ucPSBIFz2it5OAo7wIpjCEwUul8nw8Mgnjpt8Weq6SVMfM8Uv/cartrfSuMxVhCfxZENLNy80bdujQxvmGTqHLLHxdahOSZAR3aOD7VHOnqcRdR+Dhukuw1WA6+YXog1Q0a3kgTZlhjKd1UjaENeJ03Wqun7KWzpbVsynbqlbbyWsIE4C0peSPMIVJQ1SFx+su/YqytFUrZOzNBR9DObj+qIPHXHvxtLJaPYq8dWnjtZgU+nYhpmJ8Je7foz6gE4iSS4mden1v4XYKh4YHrHNznhmOvn7gam4t aaa@qq.com
[aaa@qq.com tmp]#
第2步和第3步可以采用另外一种方法
ssh-copy-id -i 公钥文件 aaa@qq.com
验证密码后,会将公钥自动添加到目标主机user宿主目录下的.ssh/authorized_keys文件结尾
ssh-copy-id ~/.ssh/id_rsa.pub aaa@qq.com
第二种(把192.168.188.20还原192.168.188.10 不动)
192.168.188.10
[aaa@qq.com ~]#cd /home/zhangsan/
[aaa@qq.com zhangsan]#su zhangsan------到zhangsan的账户下
[aaa@qq.com ~]$ cd /home/zhangsan/.ssh/
[aaa@qq.com .ssh]$ ssh-copy-id -i /home/zhangsan/.ssh/id_rsa.pub aaa@qq.com192.168.188.20-----将公钥文件添加到192.168.188.20 的lisi下
192.168.188.20
[aaa@qq.com ~]# useradd lisi----创建lisi
[aaa@qq.com ~]# passwd lisi---给lisi配密码
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[aaa@qq.com ~]#
TCP Wrappers概述
保护原理
客户机的网络访问请求,经过TCP Wrappers机制,对访问请求进行过滤控制,然后调用相应的网络程序
保护机制的实现方式
方式1:通过tcpd程序对其他服务程序进行包装
方式2:由其他服务程序调用libwrap.so.*链接库
访问控制策略的配置文件
/etc/hosts.allow(白名单)
/etc/host.deny(黑名单)
设置访问控制策略
策略格式:服务程序列表:客户端地址列表
服务程序列表
多个服务以逗号分隔,ALL表示所有服务
客户端地址列表
多个地址以逗号分隔,ALL表示所有地址
允许使用通配符?和*
网段地址,如192.168.4.或者192.168.4.0/255.255.255.0
区域地址,如.benet.com
策略的应用顺序
1、检查hosts.allow,找到匹配则允许访问
2、再检查hosts.deny,找到则拒绝访问
3、若两个文件中均无匹配策略,则默认允许访问
策略的应用示例
仅允许从以下地址访问sshd服务
主机61.63.65.67
网段192.168.2.0/24
禁止其他所有地址访问受保护的sshd服务