远程访问及控制ssh

  • 一、SSH远程管理
    • 1、定义
    • 2、优点
    • 3、客户端与服务端
    • 4、SSH服务的开启、端口号和配置文件
  • 二、配置 OpenSSH 服务端
    • 1、配置文件常用设置选项
    • 2、AllowUsers和DenyUsers
  • 三、使用SSH客户端程序
    • 1、SSH远程登录
    • 2、SCP远程复制
      • ①、下行复制
      • ②、上行复制
    • 3、sftp 安全 FTP
  • 四、sshd服务支持两种验证方式
    • 1、密码验证
    • 2、秘钥对验证
      • ①、在客户机创建秘钥对
      • ②、将公钥文件上传至服务器
      • ③、在服务器中导入公钥文本(第二台)
      • ④、在客户端使用秘钥对验证
      • ⑤、在客户机设置ssh代理功能,实现免交互登录
  • 五、TCP Wrappers 访问控制
    • 1、保护机制的两种实现方式
      • ①、查看程序的 libwrap.so.* 链接库——ldd命令
    • 2、TCP Wrappers 的访问策略
    • 3、TCP Wrappers 机制的基本原则

一、SSH远程管理

1、定义

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

2、优点

3、客户端与服务端

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

  • OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。
  • CentOS 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动。

4、SSH服务的开启、端口号和配置文件

SSH服务的开启

  • 执行 “systemctl start sshd” 命令即可启动 sshd 服务
    SSH服务的端口号
  • sshd 服务使用的默认端口号为 22
    SSH服务的配置文件
  • sshd_config 是针对服务端的配置文件
  • ssh_config 是针对客户端的配置文件

二、配置 OpenSSH 服务端

1、配置文件常用设置选项



2、AllowUsers和DenyUsers

AllowUsers和DenyUsers不能同时使用。会冲突


三、使用SSH客户端程序

1、SSH远程登录

当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA秘钥(根据提示输入"yes")后才能继续验证。接收的秘钥信息将保存到 ~/.ssh/known_hosts 文件中,密码验证成功后,即可登录目标服务器的命令环境中了。

选项 说明
-1 强制使用ssh协议版本1
-2 强制使用ssh协议版本2
-4 强制使用IPv4地址
-6 强制使用IPv6地址
-A 开启认证代理连接转发功能
-a 关闭认证代理连接转发功能
-b 使用本机指定的地址作为对位连接的源IP地址
-C 请求压缩所有数据
-F 指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f 后台执行ssh指令
-g 允许远程主机连接本机的转发端口
-i 指定身份文件(即私钥文件)
-l 指定连接远程服务器的登录用户名
-N 不执行远程指令
-o 指定配置选项
-p 指定远程服务器上的端口
-q 静默模式,所有的警告和诊断信息被禁止输出
-X 开启X11转发功能
-x 关闭X11转发功能
-y 开启信任X11转发功能

2、SCP远程复制

①、下行复制

②、上行复制

3、sftp 安全 FTP

由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。
sftp root@192.168.226.20
root@192.168.226.20’s password:
Connected to 192.168.226.20.
sftp> ls
sftp> get 文件名 #下载文件
sftp> put 文件名 #上传文件
sftp> exit #退出


四、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 “123456” | passwd --stdin admin
su - admin

ssh-keygen -t rsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/ljm/.ssh/id_rsa): #指定私钥位置,直接回车使用默认位置
Created directory ‘/home/admin/.ssh’. #生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下
Enter passphrase (empty for no passphrase): #设置私钥的密码
Enter same passphrase again: #确认输入

ls -l .ssh/id_admin* #id_rsa是私钥文件,权限默认为600;id_rsa.pub是公钥文件,用来提供给 SSH 服务器

②、将公钥文件上传至服务器

scp ~/.ssh/id_rsa.pub root@192.168.226.20:/opt

#此方法可直接在服务器的/home/admin/.ssh/目录中导入公钥文本
cd ~/.ssh/
ssh-copy-id -i id_rsa.pub zhangsan@192.168.226.20

③、在服务器中导入公钥文本(第二台)

mkdir .ssh
ls -A
cat /id_rsa.pub >> .ssh/authorized_keys
cat authorized_keys

④、在客户端使用秘钥对验证

ssh root@192.168.226.20
@192.168.226.20’s password: #输入私钥的密码

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

ssh-agent bash
ssh-add
Enter passphrass for /root/.ssh/id_rsa: #输入私钥的密码
root@192.168.226.20

五、TCP Wrappers 访问控制

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

1、保护机制的两种实现方式

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

①、查看程序的 libwrap.so.* 链接库——ldd命令


文件需要写上绝对路径
我们不是很清楚文件的绝对路径时,可以使用which命令查询
也可以两条命令一起使用:ldd $(which sshd)

2、TCP Wrappers 的访问策略

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

3、TCP Wrappers 机制的基本原则

首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;

否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;

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

允许所有,拒绝个别
只需在/etc/hosts.deny文件中添加相应的拒绝策略

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

4、示例
只希望从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

【鬼网络】之远程访问及控制ssh相关推荐

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

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

  2. 远程访问及控制SSH 服务

    目录 前言 一.SSH概述 二. SSHD服务 2.1 远程登录 2.2 文件传输 三.SSH服务配置 3.1 SSH服务安全调优 3.2 SSH服务验证 四.密钥对构建 4.1 密钥对原理 4.2 ...

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

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

  4. 远程访问及控制SSH

    目录 SSH基础 什么是SSH SSH特点 SSH协议 SSH原理 用户登录 scp命令--远程安全复制 sftp--安全FTP 服务端配置 构建密钥对验证 密钥对验证实验 SSH基础 什么是SSH ...

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

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

  6. Linux中的远程访问及控制

    文章目录 Linux中的远程访问及控制 SSH远程管理 OpenSSH服务器 ssh原理 公钥传输原理 ssh加密通讯原理 对称加密 非对称加密 配置OpenSSH服务端 登陆 服务端配置 ssh客户 ...

  7. Linux远程访问及控制(SSH、TCP Wrappers 访问控制)

    Linux远程访问及控制 一.SSH远程管理 1.SSH定义 2.SSH数据传输优点 3.SSH客户端和服务端 二.OpenSSH 1.配置OpenSSH 服务端配置 2.scp远程复制 3.sftp ...

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

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

  9. SSH远程访问以及控制

    SSH远程访问以及控制 一.SSH远程管理基本简介 二.OpenSSH服务端相关配置 三.SSH客户端程序的登录以及使用 -登录验证方式 -SSH客户端程序的使用 (1)ssh远程登录: (2)scp ...

最新文章

  1. 2022-2028年中国数码相机行业投资分析及前景预测报告
  2. R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet
  3. Spring boot默认日志配置
  4. 中兴手机数据通道打不开_中兴手机有流量,但是数据开不了怎么办?
  5. wpf 在另一个窗体上显示_另一个唐伯虎:大街上裸身奔跑、锒铛入狱多次自裁未遂...
  6. springboot的三种启动方式
  7. Debian 8 Jessie desktop on arm
  8. Compress、tar、gzip、zcat、bzip2、bzcat、打包解压命令行
  9. 【机器学习】精确率Precision和召回率recall等评价指标记录
  10. python三菱fx3u通讯_【案例】三菱FX3UPLC的无线通讯讲解
  11. 祝贺!周润发获颁授荣誉博士
  12. 使用RDO Packstack在CentOS 8上安装版本为Victoria的openstack
  13. 在线靶场-墨者-安全意识1星-WEB页面分析
  14. android自定义曲线控件,Android自定义折线图(可拖动显示)
  15. 国际标准ISO/IEC 30144: 2020在智能变电站辅助监测中的应用研究
  16. 微信发展简史:微信成功的必然和偶然
  17. mysql如何盈利_mysql到底是不是免费的?
  18. 期货开户怎么选择好的期货公司 ?
  19. UMLChina建模竞赛第3赛季第8轮:交友辅助系统,赵雅芝
  20. html代码word,Html To Word(一)(示例代码)

热门文章

  1. vue 固定div 滚动_vue移动端 导航吸顶(固定定位)页面滚动出现抖动
  2. android解析ip地址,android – 如何从IP地址解析网络主机名
  3. 为什么mysql第一步安装_Mysql安装步骤
  4. android 取色器_音乐剪辑器手机版下载-音乐剪辑器app下载v9.10.15 安卓免费版
  5. 为什么下载小电影时,经常会卡在99%?
  6. 重磅!微软发布 vscode.dev,把 VSCode 带入浏览器!
  7. 新一代Notebook神器出现,Jupyter危险了!
  8. 用Python分析元旦旅游热门城市,告诉你哪些景点性价比更高
  9. 假设检验在数据分析中的应用
  10. 骚出天际!一个程序员女装照片的开源项目