linux 远程访问控制和密钥

ssh:安全通道协议,主要实现字符界面的远程登录,远程复制,类似于ftp的功能;端口号:22默认端口号,可以修改。数据加密,通信双方的数据传输都进行加密处理,包括用户的登录的口令输入。

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

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

                    tcp     默认端口号22

数据传输是加密的,防止数据泄漏

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

基于ssh服务的软件:

客户端:xshell、moba

服务端:openssh

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

ssh配置文件/etc/ssh目录下

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

sshd_config:主要针对服务端进行配置

ssh的组成结构:

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

ssh远程传输服务的过程:

传输层:

传输层协议:服务器认证,保密性以及完整性

数据压缩

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

用户认证协议(ssh-userauth):

运行在传输层协议之上,开始认证用户之后,从底层的会话标识接收会话的标识符,认证会话标识符的所有权,建立私钥进行安全通信。只认证用户,不负责处理连接

连接协议(ssh-conncet):

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

命令行方式的远程登录:

ssh:远程登录的命令

-p:指定服务的端口号

格式:

ssh   root@20.0.0.20

root:不是本机用户是20.0.0.20的用户

@:固定格式

20.0.0.20:要登录的服务器的ip地址

ssh的访问控制:

在/etc/ssh/sshd_config配置文件中配置:

AllowUsers:允许登录的用户

DenyUsers :拒绝登录的用户

格式:

AllowUsers   hqy   haoqingyu@20.0.0.30:允许hqy和haoqingyu这两个账户进行远程登录,但是对haoqingyu进行了限制:只能从20.0.0.30登录到20.0.0.20的haoqingyu用户。

DenyUsers   hqy:拒绝远程登录hqy账户,拒绝是所有都不允许登录就算加@指定也没用

实验:把一个用户同时允许和拒绝

配置拒绝所有系统远程连接到20.0.0.20的haoqingyu1用户

20.0.0.30登录失败

再配置允许20.0.0.30系统远程连接到20.0.0.20的haoqingyu1用户

20.0.0.30登录失败

只配置允许20.0.0.30系统远程连接到20.0.0.20的haoqingyu1用户

20.0.0.30远程登录成功

再拒绝haoqingyu1远程连接

20.0.0.30登录失败

结论:不论先拒绝还是先允许都,只要同时拒绝和允许同一用户都无法登录

远程复制:

scp:远程复制命令

-P:指定服务的端口号

-r:复制目录

格式:

scp   root@20.0.0.20:/opt/ky30.txt   /opt

root:不是本机用户是20.0.0.20的用户

@:固定格式

20.0.0.20:要登录的服务器的ip地址

:跟路径

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

sftp:

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

sftp:文件传输命令

-P:指定服务的端口号

格式:

sftp   root@20.0.0.20

实验:SFTP的上传和下载,上传文件的默认位置是哪,下载的文件下载到哪里去了

在haoqingyu1家目录下新建一个文件:

使用20.0.0.40登录到20.0.0.20的haoqingyu1用户下

下载文件123456

查找文件发现下载的文件在当前的目录中:

再新建一个456789文件:

登录到20.0.0.20的haoqingyu1用户下

上传文件456789

haoqingyu1家目录下多出456789文件:

总结:上传是上传到指定用户的家目录中,下载是下载到系统登录前的目录中

密钥对:

要求提供匹配的密钥信息,才能通过验证

1.在客户端创建一个密钥文件

2.把密钥文件传送到服务端的指定位置

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

密码验证和密钥验证都开启,服务器会优先私用密钥对验证。

配置密钥:

ssh-keygen   -t   rsa:创建密钥对

密钥加密方式:

ecdsa、rsa、dsa

创建一个rsa密钥类型的密钥对:

创建完成后系统家目录下隐藏文件.ssh中出现公钥文件和私钥文件

/root/.ssh目录中:

id_rsa:私钥文件

id_rsa.pub :公钥文件

ssh-copy-id   -i   id_rsa.pub   root@20.0.0.30:传输密钥对给20.0.0.30

ssh-agent   bash:启动免交互

ssh-add:添加密钥

登录用户不需要输入密码:

TCP wrappers 访问控制:

tcp包裹tcp服务,代为监听使用tcp服务程序的端口

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

只能针对使用tcp协议的服务

对应的两个策略文件:

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

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

配置格式:

服务 : 主机ip地址

sshd : 20.0.0.20

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值