centos7远程访问及控制

远程访问及控制

实验材料

centos7两台使用xshell连接
一台192.168.100.102
一台192.168.100.103

配置OpenSSH服务

1.服务监听选项
都可以不用改
[root@CentOS7-02 ~]# vim /etc/ssh/sshd_config
上面是ssh的主配置文件
在这里插入图片描述
还有如下这个项把#去掉,禁用DNS反向解析,可以增加DNS解析速度
UseDNS no
[root@CentOS7-02 ~]# systemctl restart sshd (重启服务生效)
2.用户登陆控制
这些选项默认都是#号的需要手动打开
在这里插入图片描述
还有一个禁止空密码登陆是如下配置项
PermitEmptyPasswords no (no是禁止的意思)
[root@CentOS7-02 ~]# systemctl restart sshd

然后创建一个用户zhangsan并设置密码,再创建一个lisi用户不设置密码
断开xshell重连发现root用户登不上,zhangsan可以登上,lisi不可登上就对了
记得回到linux虚拟机里,把上面的禁止root登陆的配置项给#了,要不然Xshell,root就登不上

3.登陆验证方式
密码验证:使用服务器中本地用户的登录名称,密码验证;
密钥对验证:要求提供相匹配的密钥信息才能通过验证,避免交换,更安全
下面这两个默认是#的,要去掉可以一起开启,
密钥对验证优先被使用

**

下面是为后面做密钥对做的准备,如果要做密钥对验证记住两边都要开启密钥对验证

**
[root@CentOS7-02 ~]# vim /etc/ssh/sshd_config (客户机102)
[root@centos7-03 ~]# vim /etc/ssh/sshd_config (SSH服务器103)
PasswordAuthentication yes :启用密码验证
PubkeyAuthentication yes :启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys (指定公钥库位置默认开启的不用管)
[root@CentOS7-02 ~]# systemctl restart sshd

使用SSH客户端

1.命令程序ssh,scp,sftp
1)ssh远程登陆
在102服务器连103
可以发现命令行前面的主机名变了就对了
在这里插入图片描述
[root@CentOS7-02 ~]# ssh -p 1234 [email protected]
如果你改了端口号可以这样连
2)scp远程复制
exit :回到原主机
在这里插入图片描述
3)sftp安全FTP
在102的root目录下创建一个文件102
103的root下创建文件103 (这样方便看效果)

在这里插入图片描述

构建密钥对的SSH体系(重点)

1.在客户端创建密钥对

192.168.100.102当客户端
192.168.100.103是ssh服务器

进入102
创建用户zhangsan并设置密码
root用户下
在这里插入图片描述
2.将公钥文件上传至服务器
在这里插入图片描述
3.在服务器中导入公钥文本

进入103 SSH服务器
创建用户李四并设置密码(这是一会客户端要使用的账号) 并导入公钥
在这里插入图片描述
4.在客户端使用密钥对验证

进人102客户端
当前用户是zhangsan可以直接使用lisi登陆,如果当前是其他用户使用lisi用户需要输入密码

这是因为zhangsan的公钥文件SSH服务器lisi那里有,而本地root用户的公钥文件SSH服务器lisi那里没有
而zhangsan本地有私钥和远端SSH服务器可以匹配直接以lisi登陆
在这里插入图片描述
5.第二种实现的方法

上面一共有四步,2,3步可以放到一起执行
首先客户端新创建用户ajbn,SSH服务器用户ajbm并都设置密码

首先进入客户端
[root@CentOS7-02 ~]# su ajbn
[ajbn@CentOS7-02 root]$ ssh-keygen -t ecdsa (这边和上面一样,一直回车)
[ajbn@CentOS7-02 root]$ ssh-copy-id -i ~/.ssh/id_ecdsa.pub [email protected] (直接上传到远端的ajbm目录中)
进入SSH服务器
[root@centos7-03 tmp]# tail -l /home/ajbm/.ssh/authorized_keys
(如果这里发现没有,就把这个./ssh目录的权限改成777)
再进入客户端验证
[ajbn@CentOS7-02 root]$ ssh [email protected] (不需要密码直接登陆)

TCP Wrappers访问控制

这两个文件
vim /etc/hosts.allow(允许的)
/etc/hosts.deny (拒绝的)

例如如下 这个配置项是手动打的
允许192.168.100.1主机SSH连接而拒绝所有人
vim /etc/hosts.allow(允许的)

在这里插入图片描述
vim /etc/hosts.deny (拒绝的) (这个配置项没有需要手打)
在这里插入图片描述
[root@CentOS7-02 ~]# systemctl restart sshd (重启服务生效)
如果你把本地对应虚拟机的vm网卡的ip地址改为其他的ip不是192.168.100.1
断掉Xshell重新连接发现连不上了
(改回来就可以连了)

允许个别人连接的话必须拒绝所有人要不没有效果

如果是拒接个别主机的话反过来就行了

实验完毕

发布了54 篇原创文章 · 获赞 57 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_45308292/article/details/100021912