远程访问及控制ssh

news2024/9/22 9:54:48

SSH远程管理

OpenSSH服务器

SSH(Secure Shell) 协议

  • 是一种安全通道协议。主要用来实现字符界面的远程登录、远程复制等功能。
  • 对通信数据进行了加密处理,用于远程管理其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性------------(同样的telnet效果也ssh相似,但telnet是明文传输,安全性比ssh低)
  • SSH使用TCP的22号端口
  • telnet使用TCP的23号端口

OpenSSH

  • 服务名称: sshd
  • 服务端主程序: /usr/sbin/sshd
  • 服务端配置文件: /etc/ssh/sshd config

SSH的客户端与服务端

  • SSH客户端和SSH服务端之间通过网络进行数据传输。数据的传输是加密的,可以防止信息泄露,同时数据传输是压缩的,可以提高传输速度。
  • SSH客户端:Putty、xshell、CRT
  • SSH服务端:OpenSSH

OpenSSH是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。

  • centos 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动。
    执行“systemctl start sshd”命令即可启动 sshd 服务
  • sshd 服务默认使用的是TCP的 22端口
  • sshd 服务的默认配置文件是/etc/ssh/sshd_config
  • ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件

配置openssh

服务端一些配置

vim /etc/ssh/sshd_config
一些常见的选项意思

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
示例:
修改端口号
在这里插入图片描述
在这里插入图片描述

SSH客户端程序

ssh -p

在这里插入图片描述

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

除此以外
ssh -p 2345 zhangsan@192.168.52.102 命令此命令可以快速的进入源主机执行命令后自动退回到本机
在这里插入图片描述

scp远程复制(出现同名文件会直接覆盖)

  • 下行复制scp [-r](目录)[-P](端口号)用户@ip:绝对路径 本机目录/文件
scp root@192.168.52.102:/etc/passwd /root/passwd10.txt---将远程主机中的/etc/passwd文件复制到本机

在这里插入图片描述

  • 上行复制scp [-r] (目录) [-P](端口号)本机文件/目录 用户@ip:绝对路径
scp -r /etc/ssh/ root@192.168.52.102:/opt---------将本机的/etc/ssh 目录复制到远程主机的/opt下

在这里插入图片描述

拓展:同目录文件的复制: $()和``号效果一至
在这里插入图片描述

sftp:安全FTP

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

sftp -P 指定端口号

在这里插入图片描述

配置黑白用户名单(黑白名单不能同时使用)

  • 白名单:AllowUser
    在这里插入图片描述
  • 黑名单:DenyUser

在这里插入图片描述

在这里插入图片描述

ssh的验证方式

验证方式

  • 1.密码验证
    对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
  • 2.密钥对验证
    要求提供相匹配的密钥信息才能通过验证。通常先在客户端创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。
    公钥和私钥的关系
  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密·
  • 不能根据一个密钥来推算出另一个密钥。
  • 公钥对外公开,私钥只有私钥的持有人才知道。

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

拓展
可以查看/var/log目录下的secure文件来查看用户的登录情况(失败还是成功,登录时间,登录次数等)
在这里插入图片描述

如何配置密钥验证

  • 服务端启用密钥验证和公钥密钥所放置的位置:

在这里插入图片描述

  • 客户端创建密钥对
    在这里插入图片描述
    在这里插入图片描述

  • 客户端上传公钥到服务端
    在这里插入图片描述

  • 服务端配置
    在这里插入图片描述
    在这里插入图片描述

拓展:客户端上传公钥的方法二
此方法不需要去创建.ssh目录,修改权限这些,一条命令就行了。
在这里插入图片描述

  • 客户端登录

在这里插入图片描述
在这里插入图片描述
登录成功

密钥免交互登录

  • 方法一:不设置密钥密码(永久)
  • 方法二:创建ssh会话代理;临时,只在当前会话有效
ssh-agent bash
ssh-add
Enter passphrase for /root/.ssh/id_rsa:输入密码

在这里插入图片描述

TCP Wrappers

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

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

在这里插入图片描述

使用 ldd 命令可以查看程序的 libwrap.so.*链接库(有就支持tcp wrappers,没有就不支持)
ldd $(which 程序名) $()和``双撇号效果一至
或者idd 程序文件路径

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

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

  • TCP wrappers 机制的基本原则
    首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果检查上述两个文件都找不到相匹配的策略,则允许访问
    示例:
    "允许所有,拒绝个别”
    只需在/etc/hosts.deny文件中添加相应的拒绝策略
    "允许个别,拒绝所有"除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置"ALL:ALL"的拒绝策略.
    在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/453235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C嘎嘎~~ 【初识C++ 下篇】

初识C 下篇 1.引用1.1引用的概念1.2引用的特点1.3常引用1.4引用使用的场景1.5引用和指针的区别 2.指针空值 --- nullptr3.内联函数3.1 内联函数的概念3.2内联函数的使用场景3.3内联函数的特性 1.引用 1.1引用的概念 相信大家小时候&#xff0c; 肯定有小名、绰号、亲朋好友的昵…

查询提速 20 倍,Apache Doris 在 Moka BI SaaS 服务场景下的应用实践

导读&#xff1a; MOKA 主要有两大业务线 MOKA 招聘&#xff08;智能化招聘管理系统&#xff09;和 MOKA People&#xff08;智能化人力资源管理系统&#xff09;&#xff0c;MOKA BI 通过全方位数据统计和可灵活配置的实时报表&#xff0c;赋能于智能化招聘管理系统和人力资源…

scratch甲壳虫走迷宫 中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析2023年3月

目录 scratch甲壳虫走迷宫 一、题目要求 1、准备工作 2、功能实现 二、案例分析

ESP32学习二-环境搭建(ESP-IDF V5.0,Ubuntu18.4)

一、准备事项 Ubuntu 18.04.5。具体安装可以参考如下链接。使用VMware安装Ubuntu虚拟机和VMware Tools_t_guest的博客-CSDN博客 乐鑫官方也提供了安装的相关操作。有兴趣可以参考。 快速入门 - ESP32 - — ESP-IDF 编程指南 v5.0.1 文档 注&#xff1a;提前说明&#xff0c;因…

Android权限描述

问题 我们常常在写apk的时候申请一些相关权限。想知道每个权限的作用&#xff0c;可以查询权限声明的地方。 1、三方页面&#xff1a; https://manifestdestiny.reveb.la/ 2、源码注释 /frameworks/base/core/res/AndroidManifest.xml <!-- SystemApi TestApi Allows a…

部署 Exsi 7.0.3

文章目录 1. 下载介质2. u盘引导安装启动盘3. 硬件连接4. 安装 EXSI 7.0.3 1. 下载介质 下载 VMware-VMvisor-Installer-7.0U3l-21424296.x86_64.iso 安装 EXSI 7.0.3 可参考: https://www.dinghui.org/vmware-iso-download.html 2. u盘引导安装启动盘 工具 https://www.v…

fitlog使用教程(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 fitlog包是用于自动版本管理和自动日志记录的Python包&#xff0c;是fastNLP团队开发的。 fitlog 中文文档 — fitlog 文档 他们团队的文档写的真的不行&#xff0c;崩溃&#xff0c;FastNLP也很难用&#xff0c;fitlog也很难用&#xff0c;中…

数据库系统概论--第四章课后习题

1.什么是数据库的安全性&#xff1f; 答&#xff1a; 数据库安全&#xff0c;是指以保护数据库系统、数据库服务器和数据库中的数据、应用、存储&#xff0c;以及相关网络连接为目的&#xff0c;是防止数据库系统及其数据遭到泄露、篡改或破坏的安全技术。 数据库安全与一般应…

超级国际象棋:第二个里程碑已完成

获取Cartesi资助的项目的最新进展&#xff0c;现在将完全去中心化的Web3国际象棋带到你的手中 “Ultrachess是一个完全基于区块链的国际象棋应用程序&#xff0c;由Cartesi Rollup技术支持&#xff0c;允许用户将真实价值投入到比赛中&#xff0c;不仅仅是他们的Elo分数。 此…

Controller里面的重定向无法跳转网址

Controller里面的重定向无法跳转网址时&#xff0c;需要在要跳转的页面地址前面加上tomcat里面的本项目的总网址&#xff0c;如下图所示

代码随想录之平衡二叉树

本题思路是针对高度&#xff0c;只不过是判断高度之差的绝对值是否大于1罢了&#xff0c;这里引入特殊变量-1用来说明不是平衡二叉树 如果左右子节点对应的子树有一个不是平衡二叉树就一直-1返回到头了。 只有全是平衡二叉树时才正常运行完。 class Solution { public:int tra…

Windows 下 GitKraken 6.5.1免费版本安装

文章目录 1. 安装 6.5.1 版本2. 更换快捷方式3. 登录 用过 GitKraken 都说好&#xff0c;不过&#xff0c;GitKraken 从 6.5.3 版本开始收费&#xff0c;它的最后一个免费版本是 6.5.1 &#xff0c;当你使用收费版本而又未付费时&#xff0c;使用 GitKranken 将无法打开私有仓库…

【学习资源】终身机器学习之增量学习

从机器学习存在的问题谈起&#xff0c;介绍增量学习可以解决怎样的问题&#xff0c;增量学习的类别&#xff0c;实现增量学习的方法&#xff0c;增量学习的评价指标和常用数据集&#xff0c;类别增量学习典型方法和代码库以及参考资源&#xff0c;希望能帮助大家用增量学习提高…

产品结构优化叠加渠道红利释放,劲仔食品是下一个食品大牛股吗?

A股有着独特的“四条鱼”标的&#xff0c;其中三家都是做大鱼&#xff1a;鳗鱼、三文鱼、罗非鱼。但在消费者这一侧听得最多的&#xff0c;往往是那个“劲仔小鱼”&#xff0c;和它背后的劲仔食品。 这只是一个诙谐的说法&#xff0c;但劲仔食品的业绩质量好&#xff0c;却是不…

Flutter 状态管理框架 Provider 和 Get 原理分析

为什么需要状态管理&#xff1f; 首先&#xff0c;为什么需要状态管理&#xff0c;这是因为 Flutter 基于 声明式 构建 UI &#xff0c;使用状态管理的目的之一就是解决「声明式」开发带来的问题。 「声明式」开发是一种区别于传原生的方式&#xff0c;所以我们没有在原生开发…

Java8特性之Lambda表达式

1.概念 lambda表达式是Java8的一个新特性&#xff0c;从本质上来讲是一个匿名函数&#xff0c;可以使用这个匿名函数实现接口中的方法&#xff0c;并且非常简洁。 通常来讲&#xff0c;使用 lambda表达式 是为了简化接口实现的。关于接口实现&#xff0c;可以有很多种方式来实…

MongoDB多字段重复数据的查询与删除

MongoDB的语法平时接触的不错&#xff0c;更多的是使用关系型数据库。最近遇到一个问题&#xff0c;在MongoDB中&#xff0c;需要找出三个字段重复的数据&#xff0c;有点类似于SQL数据中的三个字段组成的唯一键。并且需要将重复的数据保留一条&#xff0c;其余删除。但是在Mon…

跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测)

跌倒检测和识别3&#xff1a;Android实现跌倒检测(含源码&#xff0c;可实时跌倒检测) 目录 跌倒检测和识别3&#xff1a;Android实现跌倒检测(含源码&#xff0c;可实时跌倒检测) 1. 前言 2. 跌倒检测数据集说明 3. 基于YOLOv5的跌倒检测模型训练 4.跌倒检测模型Android…

Kubernetes----Pod,资源对象文件

kubectl容器管理 kubectl用于控制Kubernetes集群的命令行工具 语法格式 kubectl [command] [type] [name] [flages] command: 子命令&#xff0c;如create&#xff0c;get,describe,delete type: 资源类型&#xff0c;可以表示为单数&#xff0c;复数形式或缩写形式 name: 资…

2023年4月份上新的图像领域分割模型设计系列论文(一)

来源&#xff1a;投稿 作者&#xff1a;王老师 编辑&#xff1a;学姐 论文1 论文标题&#xff1a; Learning Semantic-Aware Knowledge Guidance for Low-Light Image Enhancement 论文链接&#xff1a; https://arxiv.org/pdf/2304.07039v1.pdf代码链接&#xff1a; https://…