热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxSSH远程管理和客户端的使用(内置实验解析图)

LinuxSSH远程管理和客户端的使用(内置实验解析图)一、SSH远程管理SSH(SecureShell)协议是一种安
Linux SSH远程管理和客户端的使用(内置实验解析图)
一、SSH远程管理

SSH(Secure Shell)协议
是一种安全通道协议,对通信数据进行了加密处理,用于实现远程管理、远程登录、远程复制等功能。

(1)SSH工作原理

SSH客户端例如:Putty、Xshell、CRTSSH服务端例如:OpenSSH

在这里插入图片描述

  • 客户端到服务端是通过网络传输

  • 数据传输是加密的

  • 数据传输是压缩的


二、openSSH

OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。
sshd 服务默认使用的是TCP的 22端口

服务名称:sshd

服务端主程序:/usr/sbin/sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

(1)sshd配置文件常用选项

在这里插入图片描述

(2)sshd 服务支持的验证方式

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

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

[ 3 ] 两种验证同时开启
当两种验证都启用时,服务器将优先使用密钥对验证。

[ 4 ]验证配置文件常用选项

在这里插入图片描述

三、SSH客户端使用

[ 1 ]ssh 远程登录

ssh [选项] 用户 @ IP号
-p:指定非默认的端口号,缺省时默认使用 22端口

在这里插入图片描述

[ 2 ]scp 远程复制

scp 目标用户名@目标IP地址:目标文件位置 本机存放位置
//复制目标主机文件到本机
scp -r 本机目录 目标用户名@目标IP地址:目标目录
//复制本机目录到目标主机

在这里插入图片描述

[ 3 ]sftp 安全 FTP

sftp zhangsan@192.168.80.10 //访问目标主机
sftp> ls //查看当前所在位置的文件
sftp> get 文件名 //下载文件
sftp> put 文件名 //上传文件
sftp> quit //退出

在这里插入图片描述

[ 4 ]配置密钥对验证

useradd admin //创建用户
echo "123123" | passwd --stdin admin //配置密码
su - admin //切换用户ssh-keygen -t ecdsa //创建密钥对cd ~/.ssh/ //进入~目录下.ssh目录
ssh-copy-id -i id_ecdsa.pub 目标用户@目标IP
//直接在服务器的/home/目标用户名/.ssh/目录中导入公钥文本ssh-agent bash //以下命令为配置免交互
ssh-add

在这里插入图片描述

四、TCP Wrappers

(此服务用的不多了解就好,有兴趣可以自己做做)

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

大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。rpm -q tcp_wrappers

(1)TCP Wrapper 保护机制的两种实现方式

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

使用 ldd 命令可以查看程序的 libwrap.so.*链接库
ldd $(which ssh vsftpd)

(2)TCP Wrappers 的访问策略

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

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

  • 服务程序列表
    ALL&#xff1a;代表所有的服务。
    单个服务程序&#xff1a;如“vsftpd”。
    多个服务程序组成的列表&#xff1a;如“vsftpd,sshd”
  • 客户端地址列表
    ALL&#xff1a;代表任何客户端地址。
    LOCAL&#xff1a;代表本机地址。
    允许使用通配符 “?” 和 “*”
    网段地址&#xff0c;如 192.168.80. 或者 192.168.80.0/255.255.255.0
    区域地址&#xff0c;如 “.benet.com”匹配 bdqn.com 域中的所有主机。

&#xff08;3&#xff09;TCP Wrappers 机制的基本原则&#xff1a;

首先检查/etc/hosts.allow文件&#xff0c;如果找到相匹配的策略&#xff0c;则允许访问&#xff1b;
否则继续检查/etc/hosts.deny文件&#xff0c;如果找到相匹配的策略&#xff0c;则拒绝访问&#xff1b;
如果检查上述两个文件都找不到相匹配的策略&#xff0c;则允许访问。

“允许所有&#xff0c;拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略

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


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • UNIX高级环境编程 第11、12章 线程及其属性
    第11章线程11.2线程概念线程资源:线程ID,一组寄存器,栈,调度优先级和策略,信号屏蔽字,e ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
author-avatar
U友50140862
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有