SSH远程管理 远程访问及控制

SSH远程管理

SSH(Secure Shell) 是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功 能。SSH  协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早 期的 Telent  (远程登录)、RSH(Remote Shell, 远程执行命令)、RCP(Remote File Copy, 远程文件复 制)等应用相比, SSH协议提供了更好的安全性。

openssh是实现ssh协议的开源软件项目,适用于UNIX,linux操作系统。

​​​​​​openssh官网

openssh服务器由openssh、openssh-server等软件包提供(默认已经安装,并将ssh服务添加为标准的系统服务)。只要拥有合法的登录的shell都可以远程登录系统。

sshd服务的配置文件默认位于/etc/ssh/sshd_config目录下(Centos系统)

SSH配置文件信息

#服务监听选项
port 22                                        #监听端口
ListenAddress 192.168.6.16                     #监听地址
Protocol 2                                     #使用SSH V2协议(建议开启)
…………
UseDNS no                                      #禁用DNS反向解析3
#用户登录控制
LoginGraceTime 2m                              #登录验证时间为2分钟(默认为2分钟)
PermitRootLogin no                             #禁用root用户登录(默认允许root用户登录)
MaxAuthTries 6                                 #最大重试次数
…………
PermitEmptyPasswords no                        #禁止空密码用户登录(建议开启)
PasswordAuthentication yes                     #启用密码验证
PubkeyAuthentication yes                       #启用密钥对验证
AuhorizedKeysFile  .ssh/authorized_keys        #指定公钥库文件
UsePAM yes                                     #判断客户端来源是正常合法的。(会DNS反向查询客户端的主机名)
PrintMotd yes                                  #登录后显示默认信息
SyslogFacility AUTHPRIV                        #登录时记录信息,记录类型为:AUTHPRIV(服务日志存放在:/var/log/secure)

当希望只允许或禁止某些用户登录时,可以使用AllowUsers 或 DenyUsers 配置,两者用法类似(注 意不要同时使用)例如:

AllowUsers jingyu ansheng chen@6.6.6.6
#只允许jingyu,ansheng chen,用户登录其中chen用户仅能够从ip地址:6.6.6.6的主机远程登录

登录验证方式

sshd    务支持两种验证方式——密码验证、密钥对验证,可以设置只使用其中一种方式,也可以两种方式 都启用。

      密码验证:对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便, 但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码

穷举(暴力破解)攻击时防御能力比较弱。

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

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服 务器,建议将密码验证方式禁用,只允许启用密钥对验证方式;若没有特殊要求,则两种方式都可

启用。

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

构建密钥免密登录ssh

密钥对验证方式可以为远程登录提供更好的安全性。整个过程包括四步,首先要在 SSH 客户端以zhangsan用户身份创建密钥对,并且要将创建的公钥文件上传至SSH 服务器端, 然后要将公钥信息导入服务器端的目标用户 lisi的公钥数据库,最后以服务器端用户 lisi 的身份登 录验证。

创建密钥对

ssh-keygen -t ecdsa

#-t 选项用于指定算法类型,可用的加密算法为 ecdsa 或 dsa

[root@jingyu ~]# ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/root/.ssh/id_ecdsa):         #指定私钥位置(默认为/root/.ssh)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):                        #设置私钥短语
Enter same passphrase again:                                       #确认私钥短语
Your identification has been saved in /root/.ssh/id_ecdsa.
Your public key has been saved in /root/.ssh/id_ecdsa.pub.
The key fingerprint is:
0d:08:fa:f5:ad:f6:c0:f4:dd:ec:af:5e:02:d1:d4:61 root@jingyu
The key's randomart image is:
+--[ECDSA  256]---+
|    .         .E.|
|   . . .     o. .|
|  .   o .   . .  |
|   . . . +   .   |
|    .   S o .    |
|       o o . +   |
|        = . . + .|
|       . o   . o |
|          .  .+o.|
+-----------------+

一般直接按enter键即可。(生产环境中不建议这样做。

ls -lh /root/.ssh/id_ecdsa*

查看确认生成的密钥文件

新生成的密钥对文件中, id_ecdsa 是私钥文件,权限默认为600,对于私钥文件必须妥善保管,

不能泄露给他人; id_ecdsa.pub 是公钥文件,用来提供给 SSH 服务器。

使用“ssh-copy-id -i 公钥文件 user@host”格式,“-i”选项指定公钥文件, “user”是指目标主机的用户。验证密码后, 会将公钥自动添加到目标主机user 宿主目录下的.ssh/authorized_keys 文件结尾。

ssh-copy-id #客户端地址

SSH客户端程序(ssh、scp、sftp)

1、ssh

修改端口之后则在登录时必须通过 "-p" 选项指定端口号(例如:ssh -p 1626 6.6.6.6) 

当用户第一次登录 SSH 服务器时,必须接受服务器发来的ECDSA 密钥(根据提示输入“yes”)  后才能继续验证。接收的密钥信息将保存到~/.ssh/known_hosts 文件中。

2、scp远程复制

通过 scp 命令可以利用 SSH 安全连接与远程主机相互复制文件。使用 scp 命令时,除了必须指 定复制源、目标之外,还应指定目标主机地址、登录用户,执行后根据提示输入验证口令即可。

例子:(在本地操作)

scp -rp /media 6.6.6.6:/

将本地主机的media目录拷贝到6.6.6.6主机的根目录下

(远程主机)

scp  -rp 6.6.6.3:/media /

(免密之后不需要输入密码)

3、sftp

通 过 sftp 命令可以利用 SSH 安全连接与远程主机上传、下载文件,采用了与 FTP 类似的登录 过程和交互式环境,便于目录资源管理。

例如:

sftp root@6.6.6.6

sftp>ls

上传

sftp> put 文件名称 #上传文件

sftp>put -r 目录 #上传目录

sftp>mput 名称 远程目录 #上传多个本地文件,支持通配符

sftp>mput -r 名称 远程目录 #上传多个本地目录,支持通配符

下载

sftp>get 文件名称 本地目录位置 #下载文件

sftp>get -r 文件名称 本地目录位置 #下载目录

sftp>mget 文件名称 本地目录位置 #下载多个文件,支持通配符

sftp>mget -r 文件名称 本地目录位置 #下载多个目录,支持通配符

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

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

相关文章

嗨动PDF编辑器适合你的pdf编辑器,试试吧!

pdf编辑器有哪些?在数字化办公日益普及的今天,PDF文档因其跨平台、高保真度的特性而备受欢迎。无论是工作汇报、学术研究还是日常学习,我们都需要对PDF文档进行编辑、修改和整理。然而,如何选择合适的PDF编辑器却成了许多人头疼的…

vue3实战Easy云盘(一):创建项目+登录注册页面+构建框架页+上传头像/修改密码/退出登录

一、创建项目 1.创建项目 2.安装各种依赖 npm install highlightjs/vue-plugin moefe/vue-aplayer aplayer axios docx-preview dplayer element-plus highlight.js js-md5 sass sass-loader spark-md5 vue-clipboard3 vue-cookies vue-pdf-embed vue-router …

Linux系统(CentOS)下安装配置 Nginx 超详细图文教程

一、下载并安装 1.打开nginx官网并点击右侧的download,Nginx官网下载地址 2.选择稳定版本 我放在/usr/local/nginx/下,新建文件夹 mkdir /usr/local/nginx/ 通过xftp传输到Linux的服务器上,这里方法不过多复述。 或者如果Linux联网&#xf…

Hystrix服务熔断

服务熔断 熔断机制是应对雪崩效应的一种微服务链路保护机制。当某个微服务不可用或者响应时间太长时, 会进行服务降级,进而熔断该节点微服务的调用,快速返回“错误”的响应信息。当检测到该节点微 服务调用响应正常后恢复调用链路。 在Spri…

鸿蒙开发:【从TypeScript到ArkTS的适配规则】

从TypeScript到ArkTS的适配规则 ArkTS通过规范约束了TypeScript(简称TS)中过于灵活而影响开发正确性或者给运行时带来不必要额外开销的特性。本文罗列了所有在ArkTS中限制的TS特性,并提供了重构代码的建议。ArkTS保留了TS大部分的语法特性&a…

半监督的GCN:Semi-Supervised Classification With Graph Convolutional Networks

Semi-Supervised Classification With Graph Convolutional Networks -Theophilus Siameh-2017(2023) 思路 使用可扩展方法对图进行半监督学习,其中CNN应用在图数据上,得到GCN。 这种方法是在图的边的数量上进行线性的缩放模型,并学习包含局部图结构和图节点的几个隐藏层…

红米Turbo3小米平板6SPro澎湃OS系统强解BL锁-跳小米社区绑定-刷ROOT权限

红米Turbo3小米平板6SPro这2款设备都出厂为澎湃OS系统,官方提供都是小米社区申请解锁权限,然后自己答题解锁,门槛非常高,想要玩机root的用户,都在堵在门外。还在这目前这两款机型官方并没有加入强制验证,在…

【深度学习实战(33)】训练之model.train()和model.eval()

一、model.train(),model.eval()作用? model.train() 和 model.eval() 是 PyTorch 中的两个方法,用于设置模型的训练模式和评估模式。 model.train() 方法将模型设置为训练模式。在训练模式下,模型会启用 dropout 和 batch norm…

pytorch常用内置loss函数与正则化技术(补充小细节)

文章目录 前言一、常用损失函数(后面用到了新的会一一补充)1.1 回归中的损失函数1.1.1 nn.MSELoss()示例1:向量-向量示例2:矩阵--矩阵(维度必须一致才行)1.2 分类中的损失函数1.2.1 二分类(1)nn.BCELoss --- 二分类交叉熵损失函数示例1:向量-向量示例2:矩阵--矩阵(维…

基于SSM的“基于协同过滤的在线通用旅游平台网站”的设计与实现(源码+数据库+文档)

基于SSM的“基于协同过滤的在线通用旅游平台网站”的设计与实现(源码数据库文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统主界面 景点信息界面 后台界面 部分源码…

【每日刷题】Day39

【每日刷题】Day39 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 622. 设计循环队列 - 力扣(LeetCode) 2. 387. 字符串中的第一个唯一字符 - …

百度云防护502 Bad Gateway原因总结和处理方法

最近,随着原百度云加速用户新接入百度云防护后,很多站长反馈网站打不开,出现了502 Bad Gateway的情况。 为此,百度云这里给大家总结下,出现502的大概几个原因: 1.服务器防火墙拦截了百度云防护的IP节点请求…

vivado Kintex UltraScale+ 配置存储器器件

Kintex UltraScale 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 Kintex UltraScale 器件执行擦除、空白检查、编程和验证等配置操作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 , 并支持通过 Vivado 软件对其中所列非易失性存…

【VUE.js】前端框架——未完成

基于脚手架创建前端工程 环境 当安装node.js时,它本身就携带有npm命令。(-v 查版本号)安装VUE CLI npm i vue/cli -g(全局) 创建 vue create 【project name】 镜像源解决方案 输入创建命令后,提示检查更…

【JAVA】JAVA的垃圾回收机制详解

对于Java的垃圾回收机制,它是Java虚拟机(JVM)提供的一种自动内存管理机制,主要负责回收不再使用的对象以释放内存空间。垃圾回收机制主要包括以下几个方面的内容: 垃圾对象的识别:Java虚拟机通过一些算法&…

C++学习笔记3

A. 求出那个数 题目描述 喵喵是一个爱睡懒觉的姑娘,所以每天早上喵喵的妈妈都花费很大的力气才能把喵喵叫起来去上学。 在放学的路上,喵喵看到有一家店在打折卖闹钟,她就准备买个闹钟回家叫自己早晨起床,以便不让妈妈这么的辛苦…

Caddy2使用阿里云DNS申请https证书,利用阿里云DNS境内外不同解析给Gone文档做一个同域名的国内镜像站点

我从头到尾实现了一个Golang的依赖注入框架,并且集成了gin、xorm、redis、cron、消息中间件等功能;自己觉得还挺好用的,并且打算长期维护! github地址:https://github.com/gone-io/gone 文档原地址:https:/…

2024CCPC郑州站超详细题解(含题面)ABFHJLM(河南全国邀请赛)

文章目录 前言A Once In My LifeB 扫雷 1F 优秀字符串H 随机栈J 排列与合数L Toxel 与 PCPC IIM 有效算法 前言 这是大一博主第一次参加xcpc比赛,虽然只取得了铜牌,但是收获满满,在了解了和别人的差距后会更加激励自己去学习,下面…

Python从0到POC编写--函数

数学函数: 1. len len() 函数返回对象(字符、列表、元组等)长度或项目个数, 例如: str "python" len(str)2. range range() 函数返回的是一个可迭代对象(类型是对象),…

并行执行的4种类别——《OceanBase 并行执行》系列 4

OceanBase 支持多种类型语句的并行执行。在本篇博客中,我们将根据并行执行的不同类别,分别详细阐述:并行查询、并行数据操作语言(DML)、并行数据定义语言(DDL)以及并行 LOAD DATA 。 《并行执行…