Linux远程访问及控制

  • 一、SSH远程管理
    • 1.SSH定义
    • 2.SSH数据传输优点
    • 3.SSH客户端和服务端
  • 二、OpenSSH
    • 1.配置OpenSSH 服务端配置
    • 2.scp远程复制
    • 3.sftp安全FTP
  • 三、sshd 服务的两种验证方式
    • 1.密码验证
    • 2.密钥对验证
      • 在客户端创建密钥对
      • 将公钥文件上传服务器
      • 在客户端使用密钥对验证
      • 在客户机设置ssh代理功能,实现免交互登录
  • 四、TCP Wrappers 访问控制
    • 1.TCP Wrappers
    • 2.TCP wrapper 保护机制的两种实现方式
    • 3.使用ldd命令可以查看程序的libwrap.so.*链接库
    • 4.TCP wrappers 的访问策略
    • 5.TCP Wrappers 机制的基本原则

一、SSH远程管理

1.SSH定义

  • SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
  • SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。

2.SSH数据传输优点

  • 数据传输是加密的,可以防止信息泄漏
  • 数据传输是压缩的,可以提高传输速度)

3.SSH客户端和服务端

  • SSH客户端:Putty、Xshell、CRT
  • SSH服务端:OpenSSH

二、OpenSSH

  • OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。
  • CentOS 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启。(openssh的服务名称为sshd)
  • 执行“systemctl start sshd”命令即可启动 sshd 服务
  • sshd 服务默认使用的是TCP的 22端口
  • sshd 服务的默认配置文件是 /etc/ssh/sshd_config
  • ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

1.配置OpenSSH 服务端配置

sshd_config配置文件的常用选项设置
vim /etc/ssh/sshd_config
Port 22                                 #监听端口为 22
ListenAddress 0.0.0.0                   #监听地址为任意网段,也可以指定OpenSSH服务器的具体IPLoginGraceTime 2m                         #登录验证时间为 2 分钟
PermitRootLogin no                      #禁止 root 用户登录
MaxAuthTries 6                          #最大重试次数为 6PermitEmptyPasswords no               #禁止空密码用户登录
UseDNS no                               #禁用 DNS 反向解析,以提高服务器的响应速度


只允许用户登录,且其中某用户仅能够从指定IP地址进行远程登录
例:AllowUsers zhangsan lisi wangwu@61.23.24.25             #多个用户以空格分隔禁用某些用户登录,用法与AllowUsers类似(注意不要同时使用)
例:DenyUsers zhangsan


2.scp远程复制

下行复制:将远程主机的/etc/passwd文件复制到本机
scp root@192.168.172.20:/etc/passwd /root/passwd10.txt上行复制:将本机的/etc/ssh目录复制到远程主机
scp -r /etc/passwd/ root@192.168.172.20:/opt




3.sftp安全FTP

由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。

sftp root@192.168.184.20
sftp> ls
sftp> get 文件名        #下载文件到ftp目录
sftp> put 文件名        #上传文件到ftp目录
sftp> quit               #退出

下载实验


上传实验

三、sshd 服务的两种验证方式

1.密码验证

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

2.密钥对验证

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

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。

vim /etc/ssh/sshd_config
PasswordAuthentication yes                      #启用密码验证
PubkeyAuthentication yes                        #启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys         #指定公钥库文件

在客户端创建密钥对

通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的“-t”选项用于指定算法类型)。

useradd admin
echo "123123" | passwd --stdin admin
su - 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 -l .ssh/id_ecdsa*#id_ecdsa是私钥文件,权限默认为600;id_ecdsa.pub是公钥文件,用来提供给 SSH 服务器


将公钥文件上传服务器

#此方法可直接在服务器的/home/zhangsan/.ssh/目录中导入公钥文本

cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.80.10

在客户端使用密钥对验证

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

ssh-agent bash
ssh-add
Enter passphrase for /home/admin/.ssh/id_ecdsa: #输入私钥的密码ssh zhangsan@192.168.80.10

四、TCP Wrappers 访问控制

1.TCP Wrappers

将TCP服务程序"包裹"起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
大多数 Linux发行版,TCP wrappers是默认提供的功能。rpm -q tcp_wrappers

2.TCP wrapper 保护机制的两种实现方式

  • 1.直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。
  • ⒉.由其他网络服务程序调用libwrap.so.*链接库,不需要运行tcpd程序。此方式的应用更加广泛,也更有效率。

3.使用ldd命令可以查看程序的libwrap.so.*链接库

ldd $ (which ssh vsftpd)

4.TCP wrappers 的访问策略

  • TCP wrappers机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
  • 对应的两个策略文件为/etc/hosts.allow和/etc/hosts. deny,分别用来设置允许和拒绝的策略。
格式:
<服务程序列表>:<客户端地址列表>

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

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

5.TCP Wrappers 机制的基本原则

首先检查/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

Linux远程访问及控制(SSH、TCP Wrappers 访问控制)相关推荐

  1. ssh远程访问及控制与TCP Wrappers

    远程访问及控制 文章目录 远程访问及控制 SSH协议 客户端和服务端 OpenSSH 配置opensSH服务端 设置SSH白名单和黑名单 使用SSH客户端程序 1. ssh远程登录 2. scp远程复 ...

  2. 远程访问及控制(详解)——SSH远程管理及TCP Wrappers 访问控制

    远程访问及控制(详解)--SSH远程管理及TCP Wrappers 访问控制 一.SSH远程管理 1.定义 2.优点 3.客户端与服务端 4.SSH服务的开启.端口号和配置文件 二.配置 OpenSS ...

  3. 远程访问及控制——SSH远程管理及TCP Wrappers 访问控制

    一.SSH远程管理 1.定义 SSH(Secure Shell )是一种安全通道协议,主要用来实现字符界面的远程的登录.远程复制等功能. SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录 ...

  4. SSH远程访问与TCP Wrappers 访问控制(基础概述及配置操作)

    SSH远程访问及控制 OpenSSH服务器 基础概述 Windows远程桌面连接 配置OpenSSH 服务端 sshd_config配置文件的常用选项设置 使用SSH客户端程序进行黑白名单登录测试 使 ...

  5. Linux服务篇之远程访问及控制SSH

    文章目录 1 SSH 1.1 SSH 概念 1.2 SSH 优点 2 SSH 远程管理 2.1 SSH 远程登录方式 2.2 故障集 2.3 OpenSSH 服务器 2.4 OpenSSH 服务包 3 ...

  6. 【鬼网络】之远程访问及控制ssh

    远程访问及控制ssh 一.SSH远程管理 1.定义 2.优点 3.客户端与服务端 4.SSH服务的开启.端口号和配置文件 二.配置 OpenSSH 服务端 1.配置文件常用设置选项 2.AllowUs ...

  7. Linux 远程访问及控制

    Linux 远程访问及控制 文章目录 Linux 远程访问及控制 引言: 一.SSH远程管理 1.SSH是什么: 2.SSH客户端与OpenSSH服务端 3.SSH服务配置 4.SSHD服务端的功能 ...

  8. Linux 远程访问及控制 OpenSSH 服务

    文章目录 前言 1. SSH 远程管理 1.1 SSH 概述 1.2 OpenSSH 概述 1.3 配置 OpenSSH 服务端 1.4 SSH 客户端使用 (1) ssh 远程登录 (2) scp ...

  9. LinuxSSH和TCP Wrappers 访问控制

    文章标题 SSH远程管理 SSH定义 SSH优点 SSH配置文件 SSH客户端和服务端 OpenSSH 配置OpenSSH 服务端配置 Allowusers-- #仅允许某某用户登陆 scp远程复制 ...

最新文章

  1. 学mysql逻辑思维跟不上_关于避免MySQL替换逻辑SQL的坑爹操作详解
  2. Serverless 场景下 Pod 创建效率优化
  3. 计算机网络工程课程设计报告,计算机网络工程课程设计报告.doc
  4. springMVC纯java代码配置(一)- 数据源与事务管理(转载的哦)
  5. ffmpeg命令 抓屏_使用FFmpeg从视频中截图的命令 | 学步园
  6. IPv6 相关的工作简介
  7. centos内核错误_centos 升级内核失败回救
  8. java list 遍历查找_Java用list储存,遍历,查询指定信息过程详解
  9. linux下添加磁盘
  10. 解决RecyclerView的onClickListener问题
  11. 扬州市 工程师职称计算机考试,扬州市建筑专业工程师专业技术资格条件
  12. 奥的斯服务器故障显示m什么意思,奥迪斯电梯故障代码对照表 奥的斯电梯故障解决方法...
  13. Apache Flink 在双十一流量洪峰下的最佳实践
  14. Effective java读后感
  15. vim的关键词的补全功能
  16. 最新视频连接解析地址
  17. c语言的浪漫,c语言浪漫情话
  18. Verilog学习笔记(一)
  19. jquery:$elem.is(‘:hidden‘)的含义
  20. 线性卷积、周期卷积、循环卷积的意义与计算【需要补充】

热门文章

  1. Go 应用性能优化指北
  2. 基于LZ77算法的文件压缩铺垫
  3. 火山引擎视频云科技原力峰会即将开启,一起乘云 · 瞰世界
  4. 音视频技术开发周刊 | 180
  5. 李郁韬:短期爆发还是未来趋势?腾讯云海量音视频通信服务背后的技术发展
  6. 《Go语言圣经》学习笔记 第八章 Groroutines和Channels
  7. 「递归」第7集 | 腾讯开源联盟出征!
  8. ​TCP 拥塞控制详解
  9. 腾讯无边界网络 致胜企业安全新战场
  10. TEGer看过来,他二哥带你去看大世界!