7月5日上课内容 第四章 远程访问及控制

远程访问:

xshell

moba

远程连接:机房  机房重地,闲人免进 远程连接工具 ssh

系统自带的,系统默认给他开通了防火墙(他被配置在了防火墙规则策略当中,无需进行额外配置)

ssh远程管理

OpenSSH服务器

ssh:安全通道协议,主要实现字符界面的远程登录,远程复制,类似于ftp的功能

端口号:22        默认端口,可以修改的

数据加密:对通信双方的数据传输都进行了加密处理。包括用户登陆的口令输入。

数据传输---基于tcp协议

ssh客户端--------------------------------ssh服务端

                                tcp                         22

        数据传输是加密的,方式数据泄露

        数据传输是压缩的,可以提高传输速度

客户端 xshell moba(远程连接)

服务端:openssh

openssh:是ssh协议的开源软件,系统自带,而且已经设置为开机自启

服务名称:sshd

服务端主程序:/usr/sbin/sshd

配置文件位置:/etc/ssh/

ssh_config:主要是针对客户端进行配置

sshd_config:针对服务端进行配置

ssh的组成结构:

1、远程连接 远程登录 安全文件传输协议 sftp 都是openssh的一部分

传输层:

传输层协议(ssh-trans):服务器认证。保密性以及完整性

数据压缩

ssh-trans:提供加密技术,密码主机认证。缺点:它只做认证主机,认证主机的用户名和密码,不执行用户认证

用户认证协议(ssh-userauth)

特点:运行在传输层协议之上,开始认证用户之后,从底层的会话标识接收会话的标识符。认证会话标识符的所有权。建立私钥,进行通信。

同样的,他也是只认证用户,不负责处理连接

连接协议(ssh-connect):

处理最终的连接请求,运行在用户认证协议之上,提供了交互式登录界面,远程命令、数据转发

进入sshd_config里面看一下

Port 22 默认端口号22,一般会更改端口号

Listen 监听地址默认注释掉,表示所有主机都可以和他建立连接

 #LoginGraceTime 2m 登录验证时间2分钟
#PermitRootLogin yes 禁止root用户登陆,注释掉了,所以root用户可以登陆
#StrictModes yes 
#MaxAuthTries 6 输密码,最多可以输6次,失败退出了,是伪命题,输完6次退出之后还可以再输
#MaxSessions 10

如果默认端口号不是22怎么办?

重启服务,报错了,为什么?

看日志

是什么原因导致的?

SELinux自带的setenforce 安全机制不允许你更改端口号,违反了安全机制

关闭安全机制

命令行的方式进行连接

ssh root@192.168.233.10

root不是本机用户,是10的用户 @固定格式 192.168.233.10你要登陆的远程服务器的ip地址

-p 指定端口号

登录分为两步

主机认证和用户密码认证

注意:你登录到了另外一台主机,就是对另外一台主机进行操作,对本机没有任何影响

SSH的访问控制

/etc/ssh/sshd_config

AllowUsers:允许登录的用户

DenyUsers:拒绝登陆的用户

添加两个新用户试试效果:

允许登录和拒绝登陆,全部都是基于你要登录的主机

sshd_config

AllowUsers zhangsan boge@192.168.233.20 允许zhangsan和boge这两个账户的登陆,但是对boge做了限制条件,只能从20登陆我10这个主机

多个用户用 空格 隔开

重启一下服务试试其他主机能否远程登录它

test3上zhangsan可以远程登录

test2上boge可以远程登录

DenyUsers 拒绝就是把所有的都拒绝掉了,不用加主机名,所有的主机都不能进行登录 

如下图:

远程复制:重点,工作当中用的到,非常好用

scp 远程连接,从别的主机把文件或者目录,复制到本机。

test1做本机

从test2上复制文件到test1

命令:scp root@192.168.233.20:/opt/ky30.txt  /opt/rh

和远程认证的协议是一样的,都是ssh协议

scp:远程复制的命令,固定格式

root:登录主机的用户

@固定格式

192.168.233.20:我要登录主机的ip地址

:后面跟路径

:/opt/ky30.txt /opt/rh:第一个路径是登录主机的路径下的文件名或者目录名 第二个路径是我要复制到我本机的路径

复制目录 -r 指定端口-P rP可以写在一块

scp -rP 10022root@192.168.233.10:/opt/ky30/  /opt/

从test2上复制test1的文件

test1

test2

scp -P 10022 root@192.168.233.10:/opt/ky301.txt /opt.rh

如果不是默认端口要用-P 指定端口

 查看一下 

如何复制目录?

现在我要从test2这边把test1的ky30这个目录复制过来

test1创建目录

test2

复制目录 -r 指定端口-P rP可以写在一块

scp -rP 10022root@192.168.233.10:/opt/ky30/  /opt/

sftp:安全的FTP,使用了基于ssh协议的加密和解密技术,所以它的传输效率比传统的ftp要慢,但是安全性更高,语法也和ftp一模一样

moba自带sftp模块

xshell可以直接往终端里面拖

moba只能把文件往sftp里面的目录里拖,直接拖会错误

这样文件就可以正常进去了

如果不自带,就要通过命令格式来,同远程连接一样

sftp root@192.168.233.20

输入密码

这样就通过加密连接的方式登录上了20

现在我们cd到opt目录下,就可以进行get 上传,put 下载了

一样是quit退出

SFTP的上传和下载,上传文件的默认位置是哪,下载的文件下载到哪里去了,我们后面再说(见作业2)

上面我们演示了默认端口登陆,那么非默认端口怎么办呢?

sftp -P 10022 root@192.168.233.10

-P 指定端口

总结:

ssh协议的三大部分 远程连接 远程复制 sftp 远程安全文件传输。

ssh除了验证用户密码之外,还有密钥对验证。那为什么要有秘钥对?

因为服务器用户的密码,可以通过暴力破解的方式破解掉

在此情况下产生了秘钥对

它要求提供匹配的秘钥信息才能通过验证。

工作方式(流程):1、客户端创建一个秘钥文件

2、秘钥文件传送到服务端的指定位置

3、远程登录时,系统将使用秘钥对进行验证,实现免交互登录。增强了一定的安全性

概括为客户端先配置秘钥,再传给服务端,服务端下次再登陆就用密钥对进行免交互登录。

注:密码验证和秘钥验证都开启,服务器会优先使用秘钥对验证,秘钥对验证通过,就可以不用密码进行登录。

我们来看一下配置文件

vim /etc/ssh/sshd_config

Pubkey 启用密钥验证  默认也是开启的

一般情况下,密码验证和秘钥验证都是默认开启的

但是秘钥对的文件需要手动配置生成

我们用test1作为服务端,test2作为客户端

生成秘钥文件

ssh-keygen -t ecdsa

keygen 指定秘钥文件

-t 指定加密算法 

指定私钥的位置,我们默认位置即可

设置生成秘钥对的密码,这样秘钥对就生成好了

我们进生成的位置来看一下

把公钥文件传给服务端,输入20的root密码就设置好了

ssh-copy-id -i id_ecdsa.pub root@192.168.233.20

把公钥文件传给20之后,我们还要在10这边做最后一步,实现免交互

ssh-agent bash 初始环境

ssh-add 生成公钥的密码文件

密码文件读取完了,我们就可以直接登录20了,就是认证了密钥对之后,无需再输入密码了,实现了免交互登录

秘钥加密方式:

ecdsa rsa dsa

一般用ecdsa

生成的两个文件

id_ecdsa:私钥文件

id_ecdsa.pub:公钥文件

TCP Wrappers

Tcp wrappers 访问控制:

主要的功能就是 包裹tcp服务,代为监听使用tcp服务程序的端口

要先通过tcp wrappers的安全机制,才能真正访问程序

特点:只能针对使用tcp协议的服务(ssh,apache)

他有对应的两个策略文件:

/etc/hosts.allow        允许个别,拒绝所有(更加安全)

sshd:192.168.233.30 允许30服务器可以使用sshd这个服务连接到我的上面

ALL:ALL 所有都允许

什么都没有就是都允许

/etc/hosts.deny        允许所有,拒绝个别

默认的都是空

sshd:192.168.233.30 拒绝30这个服务器使用sshd这个服务(拒绝它远程登录到我这边)

它是即时生效的,不需要你去重启

我们到拒绝的这个服务器这边看一下,一旦被拒绝就不允许你登录,连输密码的机会都没有,直接给你deny拒绝掉了

效果如图所示:

---------------------------------------------------------------------------------------------------------------------------------

附:作业1,2,3

第一个作业:把一个用户同时允许和拒绝

AllowUsers 允许登陆的用户

DenyUsers 拒绝登陆的用户

先创建两个新用户

cd /etc/ssh

vim sshd_config

AllowUsers zhangsan boge@20.0.0.200 允许zhangsan和boge这两个账户的登陆,但是对boge做了限制条件,只能从200登陆我100这个主机

DenyUsers  zhangsan 允许的同时又拒绝zhangsan登陆

改完之后重启一下服务

测试一下zhangsan

效果展示

boge 可以正常从200这边远程登录

再先拒绝然后再允许同一用户看看

效果展示:

结论:先允许然后拒绝同一用户,拒绝该用户登录

先拒绝然后允许同一个用户,依旧拒绝该用户登录

第二个作业,SFTP的上传和下载,上传文件的默认位置是哪,下载的文件下载到哪里去了

Moba自带sftp模块

Xshell可以直接拖

Moba需要用sftp的方式进行传输

我们加密连接200服务器,cd 到它的家目录看一下

get 下载

put 上传

总结:put是把你登录ftp的用户的文件上传到登录前的主机的家目录上

get 是把你远程登录前的用户的目录的文件下载到你登录ftp的目录上

get下载,下载到登录的ftp的目录

put上传,把文件上传到用户的家目录上

第三个作业:大家做一个密钥对 rsa 密钥对实现免交互登录

ssh-keygen -t rsa

-keygen 指定秘钥对

-t 指定秘钥类型

id_rsa:私钥

id_rsa.pub:公钥文件

先 生成一个秘钥

cd 到家目录后查看隐藏文件,有个.ssh

我们cd进去看看

把秘钥复制到200的root用户

这个时候就设置好了,已经把公钥文件传给200了

再在100这边实现免交互

这个时候就是认证了密钥对之后,无需设置登录密码,直接实现免交互登录

重点总结:

远程访问:(ssh主要的作用就是远程访问)

包含三大类:远程连接(远程登录) 远程复制 sftp远程安全文件传输协议

默认端口号22 可以修改

特点:传输是加密的,防止数据泄露

传输数据的压缩的,可以提高传输速度

应用名叫做openssh

openssh:是SSH协议的开源软件,系统自带的,而且已经设置了开机自启

服务名:sshd

ssh_config:对客户端进行配置

sshd_config:对服务端进行配置(一般配置服务端)

ssh的组成结构

远程连接 远程登录 安全文件传输协议 sftp 都是openssh的一部分

传输层:

传输层协议(ssh-trans):服务器认证。保密性以及完整性

数据压缩

ssh-trans:提供加密技术,密码主机认证。缺点:它只做认证主机,认证主机的用户名和密码,不执行用户认证

用户认证协议(ssh-userauth)

特点:运行在传输层协议之上,开始认证用户之后,从底层的会话标识接收会话的标识符。认证会话标识符的所有权。建立私钥,进行通信。

同样的,他也是只认证用户的密码和秘钥对,不负责处理连接

连接协议(ssh-connect):控制连接

处理最终的连接请求,运行在用户认证协议之上,提供了交互式登录界面,远程命令、数据转发

命令行的方式进行连接

ssh root@192.168.233.10

root不是本机用户,是10的用户 @固定格式 192.168.233.10你要登陆的远程服务器的ip地址

-p 指定端口号

登录分为两步

主机认证和用户密码认证

注意:你登录到了另外一台主机,就是对另外一台主机进行操作,对本机没有任何影响

SSH的访问控制

/etc/ssh/sshd_config

AllowUsers:允许登录的用户

DenyUsers:拒绝登陆的用户

AllowUsers zhangsan boge@192.168.233.20 允许zhangsan和boge这两个账户的登陆,但是对boge做了限制条件,只能从20登陆我10这个主机

多个用户用 空格 隔开

远程复制:重点,工作当中用的到,非常好用

scp 远程连接,从别的主机把文件或者目录,复制到本机。

命令:scp root@192.168.233.20:/opt/ky30.txt  /opt/rh

和远程认证的协议是一样的,都是ssh协议

scp:远程复制的命令,固定格式

root:登录主机的用户

@固定格式

192.168.233.20:我要登录主机的ip地址

:后面跟路径

:/opt/ky30.txt /opt/rh:第一个路径是登录主机的路径下的文件名或者目录名 第二个路径是我要复制到我本机的路径

复制目录 -r 指定端口-P rP可以写在一块

scp -rP 10022root@192.168.233.10:/opt/ky30/  /opt/

sftp:安全的FTP,使用了基于ssh协议的加密和解密技术,所以它的传输效率比传统的ftp要慢,但是安全性更高,语法也和ftp一模一样

ssh协议的三大部分 远程连接 远程复制 sftp 远程安全文件传输。

get下载,下载到当前登录的ftp的目录

put上传,把文件上传到用户的家目录上(root/home)

ssh除了验证用户密码之外,还有密钥对验证。那为什么要有秘钥对?

因为服务器用户的密码,可以通过暴力破解的方式破解掉

在此情况下产生了秘钥对

它要求提供匹配的秘钥信息才能通过验证。

工作方式(流程):1、客户端创建一个秘钥文件

2、秘钥文件传送到服务端的指定位置

3、远程登录时,系统将使用秘钥对进行验证,实现免交互登录。增强了一定的安全性

概括为客户端先配置秘钥,再传给服务端,服务端下次再登陆就用密钥对进行免交互登录。

注:密码验证和秘钥验证默认都开启,服务器会优先使用秘钥对验证,秘钥对验证通过,就可以不用密码进行登录。

非默认端口一样 -P

生成秘钥文件

ssh-keygen -t ecdsa

keygen 指定秘钥文件

-t 指定加密算法

秘钥加密方式:

ecdsa rsa dsa

一般用ecdsa

生成的两个文件

id_ecdsa:私钥文件

id_ecdsa.pub:公钥文件

TCP wrappers 访问控制了解即可,工作中用的不多,不会专门只针对tcp来用

后面会用到更强大的工具iptables

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值