远程访问及控制

本文详细介绍了SSH服务器的配置与管理,包括OpenSSH服务端的设置、密钥对验证的建立、TCPWrappers策略的应用。重点讨论了如何通过密钥对实现安全的SSH远程登录,以及如何利用TCPWrappers增强SSH服务的安全性,实现对客户端访问的控制。同时,讲解了如何在客户端创建密钥对并将其上传至服务器,以及如何设置ssh代理功能以实现免交互登录。
摘要由CSDN通过智能技术生成

目录

一、OpenSSH服务器

1.SSH (Secure Shell)协议

2.OpenSSH

3.服务监听选项

4.用户登录控制

5.登录验证方式

二、构建密钥对验证的SSH体系

在客户机中创建密钥对

三、TCP Wrappers策略应用

策略的应用顺序

四、SSH远程管理

1.配置OpenSSH服务端

2.sshd服务支持两种验证方式

3.密钥对验证

4.使用SsH客户端程序

(1)ssh远程登录

(2)scp 远程复制

五、配置密钥对验证

1.在客户端创建密钥对       

2.将公钥文件上传至服务器

3.在服务器中导入公钥文本

4.在客户端使用密钥对验证

5.在客户机设置ssh代理功能,实现免交互登录

六、TCP Wrappers 访问控制

1.格式

(1)服务程序列表

(2)客户端地址列表

2.TCP Wrappers 机制的基本原则


一、OpenSSH服务器

1.SSH (Secure Shell)协议

(1)是一种安全通道协议
(2)对通信数据进行了加密处理,用于远程管理

2.OpenSSH

(1)服务名称: sshd
(2)服务端主程序: /usr/sbin/sshd
(3)服务端配置文件: /etc/ssh/sshd_ config

3.服务监听选项

(1)端口号、协议版本、监听IP地址
(2)禁用反向解析

4.用户登录控制

(1)禁用root用户、空密码用户
(2)限制登录验证时间、重试次数
(3)AllowUsers、DenyUsers

5.登录验证方式

(1)密码验证:核对用户名、密码是否匹配
(2)密钥对验证:核对客户的私钥、服务端公钥是否匹配

二、构建密钥对验证的SSH体系

在客户机中创建密钥对

(1)ssh-keygen命令
(2)可用的加密算法: RSA、ECDSA或DSA

三、TCP Wrappers策略应用

策略的应用顺序

(1)检查hosts. allow,找到匹配则允许访问
(2)再检查hosts.deny,找到则拒绝访问
(3)若两个文件中均无匹配策略, 则默认允许访问

四、SSH远程管理

      SSH(SecureShell)是一.种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
     SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。
                                                                  网络
                                                      SSH←→SSH服务端
                                      数据传输是加密的,可以防止信息泄漏
                                      数据传输是压缩的,可以提高传输速度
SSH客户端: Putty、 Xshell、 CRT
SSH服 务端: OpenSSH

C/S架构
 

       (1)OpenSSH 是实现SSH 协议的开源软件项目,适用于各种UNIX、Linux操作系统。
       (2)Centos 7系统默认已安装openssh相关软件包,并已将sshd 服务添加为开机自启动。
       (3)执行“systemctl start. sshd"命 令即可启动sshd 服务
       (4)sshd 服务使用的默认端口号为22
       (5)sshd 服务的默认配置文件是/etc/ssh/sshd_ config

      ssh_config和Isshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

1.配置OpenSSH服务端

sshd_ config配置文件的常用选项设置
vim /etc/ssh/sshd_ config
Port 22                                监听端口为22
ListenAddress 0.0.0.0        监听地址为任意网段,也可以指定openSSH服务器的具体IP

LoginGraceTime 2m          登录验证时间为2分钟
PermitRootLogin no          禁止root 用户登录
MaxAuthTries 6                最大重试次数为6
Permit EmptyPasswords no   禁止空密码用户登录
UseDNS no                       禁用DNS反向解析,以提高服务器的响应速度

 cd /etc/ssh/
ls

vim sshd_config


 

2.sshd服务支持两种验证方式

(1)密码验证
(2)对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

3.密钥对验证

        要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。

        对称密钥一个非对称密钥
       非对称:RSA,创建出一个公钥一个私钥验证的话,私钥必须要和公钥能对应匹配,才允许登陆、交互,否则拒绝
         PS: 公钥和私钥,实际而言就是两个文件
         "相当于 钥匙和锁的关系"

        当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。
vim /etc/ssh/sshd_ config
Pas swordAuthentication yes                             启用密码验证
PubkeyAuthentication yes                                  启用密钥对验证
AuthorizedKeysFile . ssh/ authorized_ keys       指定公钥库文件

ssh-keygen -t rsa

4.使用SsH客户端程序

(1)ssh远程登录

ssh [选项] 
       当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入"yes")后才能继续验证。接收的密钥信息将保存到~/ .ssh/known_ hosts 文件中。密码验证成功以后,即可登录目标服务器的命令行环境中了。
 -p: 指定非默认的端口号,缺省时默认使用22端口
ssh -p 

(2)scp 远程复制

下行复制
scp root : /etc/passwd / root/passwd文件名
将远程主机中的/etc/passwd文件复制到本机

上行复制
scp -r /etc/ssh/ root : /opt           将本机的/etc/ssh目录复制到远程主机.

(3)sftp 安全FTP
      由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。
sftp 
Connecting to 
tsengyia  password:               输入密码
sftp> ls 

sftp> get文件名                下载文件到ftp目录
sftp> put 文件名               上传文件到ftp目录
sftp> quit                             退出

五、配置密钥对验证

1.在客户端创建密钥对
       

      通过ssh-keygen.工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等 ( ssh-keygen命令的“-t"选项用于指定算法类型)。
useradd  用户
echo "密码" l passwd --stdin 用户
su - 用户
ssh-keygen -t ecdsa
Generating publ ic/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 -l .ssh/ id_ ecdsa*
id_ ecdsa是私钥文件,权限默认为600: id_ ecdsa.pub是公钥文件,用来提供给SSH服务器

2.将公钥文件上传至服务器

scp ~/ .ssh/id_ ecdsa.pub root  :/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 用户名@网络地址
用户名 网络地址 ' s password:    输入私钥的密码

5.在客户机设置ssh代理功能,实现免交互登录

ssh-agent bash
ssh-add
Enter passphrase for /home/admin/ .ssh/id_ ecdsa:  输入私钥的密码
ssh 用户名@网络地址

六、TCP Wrappers 访问控制

       将TCP服务程序“包裹"起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
       大多数Linux 发行版,TCP wrappers 是默认提供的功能。rpm -q tcp_ wrapper.
       TCP Wrapper 保护机制的两种实现方式
     (1)直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。
     (2) 由其他网络服务程序调用libwrap.so. *链接库,不需要运行tepd 程序。此方式的应用更加广泛,也更有效率。
      使用ldd命令可以查看程序的libwrap.so. *链接库
      ldd $ (which ssh vsftpd)
      TCPWrappers的访问策略:
      TCPWrappers机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
      对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

1.格式

<服务程序列表>:<客户端地址列表>

(1)服务程序列表

ALL: 代表所有的服务。
单个服务程序:如“vsftpd"。
多个服务程序组成的列表:如“vsftpd, sshd"。

(2)客户端地址列表

ALL: 代表任何客户端地址。
LOCAL: 代表本机地址。
多个地址以逗号分隔
允许使用通配符"*"和“?”,前者代表任意长度字符,后者仅代表一个字符网段地址
区域地址,如“. benet. com"匹配benet.com 域中的所有主机。

2.TCP Wrappers 机制的基本原则

(1)首先检查/etc/hosts.allow文件, 如果找到相匹配的策略,则允许访问;
(2)否则继续检查/etc/ hosts.deny文件,如果找到相匹配的策略,则拒绝访问;

(3)如果检查上述两个文件都找不到相匹配的策略,则允许访问。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值