远程访问及控制

本文详细介绍了SSH服务器的配置,包括OpenSSH的常用配置文件、密钥对验证的步骤,以及如何通过sftp进行安全文件传输。同时,讲解了TCPWrappers作为安全层,如何对网络服务进行访问控制,包括其工作原理和配置方法,以增强系统安全性。
摘要由CSDN通过智能技术生成

前言

1.ssh远程控制管理是什么?TCP Wrappers概述?密钥对验证的ssh体系?

1.openssh服务器

SSH (Secure Shell)协议
是一种安全通道协议
对通信数据进行了加密处理,用于远程管理
OpenSSH
服务名称:sshd
服务端主程序: /usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config

远程管理linux系统基本上都要使用到ssh,原因很简单: telnet、FTP等传输方式是?以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险。SSH (secure Shell)目前较可靠,是专为远程登录会话和其他网络服务提供安全性的协议。利用ssn协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

OpenssH常用配置文件有两个/etc/ssh/ssh_config和/etc/sshd_config。ssh_config:为客户端配置文件,设置与客户端相关的应用可通过此文件实现
sshd_config:为服务器端配置文件,设置与服务端相关的应用可通过此文件实现。
在这里插入图片描述
vim /etc/ssh/sshd_config
在这里插入图片描述

2.构建密钥对验证的SSH

1.公钥和私钥的关系:
在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥用来给数据加密,用公钥加密的数据只能使用私钥解Ⅰ

构建密钥对验证的SSH原理
首先ssh通过加密算法在客户端产生密钥对〈公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的ss服务器,客户端ssH软件就会向SsH服务器发出请求,请求用联机的用户密钥进行安全验证。sSl服务器收到请求之后,会先在该ssH服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的ss:客户端发送过来的公用密钥进行比较。如果两个密钥一致,Sst服务器就用公钥加密"质询"( challenge)并把它发送给ssH客户端。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。vim/etc/ssh/sshd_configPasswordAuthentication yes
#启用密码验证
PubkeyAuthentication yes#启用密钥对验证
AuthorizedKeysFile .ssh/ authorized_keys#指定公钥库文件

在这里插入图片描述

1.在客户端创建密钥对
通过ssh-keygen.工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或psA等( ssh- keygen命令的"-t"选项用于指定算法类型)useradd admin
echo "123123"l passwd --stdin adminsu - admin
ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/ admin/ .ssh/id_ecdsa):半指定私钥位置,直接回车使用默认位置Created directory ' /home/admin/ . ssh'.#生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下
Enter passphrase (empty for no passphrase):#设置私钥的密码
Enter same passphrase again:#确认输入
ls -1 ~/.ssh/id ecdsa*
#id_ecdsa是私钥文件,权限默认为600; id_ecdsa.pub是公钥文件,用来提供给ssH服务器
2.将公钥文件.上传至服务器
scp ~/.ssh/id_ecdsa.pub root@192.168.80.10 : / opt
或
#此方法可直接在服务器的/home/zhangsan/.ssh/目录中导入公钥文本
cd ~ / .ssh/
ssh-copy-id -i id_ ecdsa.pub zhangsan@192.168.80.10
3.在服务器中导入公钥文本
mkdir /home/zhangsan/.ssh/
cat /opt/id_ecdsa.pub >>/home /zhangsan/.ssh/authorized_keys
cat / home/ zhangsan / .ssh/ authorized_ keys
4.在客户端使用密钥对验证
ssh zhangsan@192.168.80.10
Enter passphrase for key '/home/admin/.ssh/id_ecdsa' :#输入私钥的密码
5.在客户机设置ssh代理功能,实现免交互登录
ssh-agent bash
ssh-add

3.安全性传输sftp

安全性传输sftp
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。
sftpftp 有着几乎一样的语法和功能。SFTP 为 ssh的其中一部分,其实在ssh软件包中,已经包含了一个叫作SFTP (Secure File "ransfer
Protocol)的安全文件信息传输子系统,SFTe本身没有单独的守护进程,它必须使用isshd守护进程(端口号默认是22)来完成相应的连接和答复操作
所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP
sftp root@192.168.10.10#登陆到服务器
get下载
get anaconda-ks.cfg / home/上传
I
put abc.txt#状认时会上传的/root
put abc.txt / home/
查看可用命令
help#查看sftp可使用的命令和用途打印服务器当前位置
pwd#打印当前服务器所在位置lpwd#打印当前本地位置
切换目录、查看文件
cd
#切换服务器上的目录
ls
#查看当前目录下文件列表
下载文件、退出sftp
get   #下教文件
get -r   #下教目录
quit  #退出sftp
put  #上传文件
退出命令:quit、exit、bye都可以	

4.TCP wrappers

TCP wrappers访问控制
TCP wrappers ( TCP封套)
在Linux系统中,许多网络服务针对客户端提供了访问控制机制,如 Samba、BIND、HTTPD、OpenSSH 等TCP wrappers 将TCP服务程序"包裹”起来,代为监听TCP服务程序的端口,增加了
一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序
[root@localhost opt]# rpm -q tcp_wrappers #一般系统会默认安装
tcp_wrappers-7.6-77.el7.x86_64#该软件包提供了执行程序tcpd和共享链接库文件 libwrap.so.*TCP wrapper保护机制:通常由其他网络服务程序调用libwrap.so.*链接库比如sshd
[root@localhost opt]# ldd /usr/sbin/sshd | grep "libwrap”#使用ldd命令可以查看程序的共享库
libwrap.so.0 =>/lib64/libwrap.so.0 (0x00007fc35d8f8000)
TCP wrappers访问控制
TCP wrappers ( TCP封套)
将TCP服务程序"包裹"起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
大多数Linux发行版,TCP wrappers是默认提供的功能。rpm -q tcp_ wrappersTCP wrappers保护机制的两种实现方式
1.直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。
⒉.由其他网络服务程序调用libwrap.so.*链接库,不需要运行tcpd程序。此方式的应用更加广"泛,也更有效率。使用ldd命令可以查看程序的libwrap.so.*链接库
ldd $ (which ssh)

语法格式:<服务程序列表>:<客户端地址列表>
(1)服务程序列表服务程序列表可分为以下几类。
ALL:代表所有的服务。单个服务程序:如 "vsftpd"。多个服务程序组成的列表:
如"vsftpd,sshd"。
(1)服务程序列表
ALL:代表所有的服务。
单个服务程序:如"vsftpd" .
多个服务程序组成的列表:如"vsftpd, sshd"。 
(2)客户端地址列表
ALL:代表任何客户端地址。LOCAL:代表本机地址。
多个地址以逗号分隔
允许使用通配符"*"和"?",前者代表任意长度字符,后者仅代表-一个字符网段地址,如"192.168.80.”或者192.168.80.0/255.255.255.0
区域地址,如”. benet. com"匹配benet. com域中的所有主机。

访问控制的基本原则
首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果检查上述两个文件都找不到相匹配的策略,则允许访问

“允许所有,拒绝个别”
只需在/etc/hosts . deny文件中添加相应的拒绝策略"允许个别,拒绝所有"
除了在/etc/hosts . allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置"ALL: ALL"的拒绝策略。

实例:.
若只希望从IP地址为12.0.0.1的主机或者位于192.168.80.0/24网段的主机访问sshd服务
其他地址被拒绝。
vi /etc/hosts.allow
sshd: 12.0.0.1,192.168.80.*
vi /etc/hosts.deny
sshd: ALL

sshd, htpd: ALL

在这里插入图片描述

总结

1)配置OpenSSH服务端
监听选项、用户登录控制、登录验证方式
2)使用SSH客户端程序
ssh、scp、sftp、Xshell
3)构建密钥对验证的SSH体系的步骤
4)TCP Wrappers访问控制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值