SHH远程管理

4.1SHH远程管理

SSH是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。

4.1.1配置OpenSSH服务器

在 CentOS 7.3 系统中,OpenSSH 服务器由 openssh、openssh-server 等软件包提供(默认已安装),并已将 sshd 添加为标准的系统服务。执行“systemctl start sshd”命令即可启动 sshd 服务,包括root 在内的大部分用户(只要拥有合法的登录 Shell)都可以远程登录系统。

sshd 服务的默认配置文件是/etc/ssh/sshd_config,正确调整相关配置项,可以进一步提高sshd 远程登录的安全性。下面介绍最常用的一些配置项,关于sshd confg 文件的更多配置可参考 man 手册页。

1.服务监听选项

sshd服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体IP地址,以提高在网络中的隐蔽性。

[root@localhost ~]# vim /etc/ssh/sshd_config 
Port 22                        //监听端口为22ListenAddress 0.0.0.0          //监听地址为0.0.0.0......                         //省略部分
UseDNS no                      //禁用DNS反向解析
[root@localhost ~]# systemctl restart sshd            //重启sshd服务

2.用户登录控制

sshd服务默认允许root用户登录,但在Internet中使用时是非常不安全的。普遍的做法如下:先以普通用户远程登入,进入安全Shell环境后,根据实际需要使用su命令切换为root用户。

关于sshd服务的用户登录控制,通常应禁止root用户或密码为空的用户登录。

[root@localhost ~]# vim /etc/ssh/sshd_config 
# 登录验证时间为2分钟  
LoginGraceTime 2m  # 允许root用户登录  
PermitRootLogin yes  # 使用严格的权限和所有权检查  
StrictModes yes  # 最大认证尝试次数为6次  
MaxAuthTries 6  # 同一连接的最大会话数为10  
MaxSessions 10  # 允许公钥认证  
PubkeyAuthentication yes[root@localhost ~]# systemctl restart sshd

3.登录验证方式

对于服务器的远程管理,除了用户账号的安全控制以外,登录验证的方式也非常重要。sshd服务支付两种方式都启用。

密码验证:对服务器中本地系统用户的登录名称,密码进行验证。

密码对验证:要求提供相匹配的密钥信息才能通过验证。

[root@localhost ~]# vim /etc/ssh/sshd_config
PasswordAuthentication yes                       //启用密码验证
PermitEmptyPasswords no                          
PasswordAuthentication yes                       //启用密钥对验证[root@localhost ~]# systemctl restart sshd

4.1.2使用SSH客户端程序

1.命令程序ssh,scp,sftp

(1)ssh远程登录

通过ssh命令可以远程登录sshd服务,为用户提供一个安全的Shell环境,以便对服务器进行管理和维护。使用时应指定登录用户,目标主机地址作为参数。

[root@localhost ~]# ssh  zhangsan@192.168.10.101                                                //连接zhangsan用户
The authenticity of host '192.168.10.101 (192.168.10.101)' can't be established.
ECDSA key fingerprint is SHA256:mHEmd62Axv3yu3ZTeTuKmqk1VpPRaOWKvymHTOiLOt8.
ECDSA key fingerprint is MD5:ac:fc:9b:63:4a:79:58:6d:9e:8f:2b:98:75:80:54:31.
Are you sure you want to continue connecting (yes/no)? yes                                     //是否登录
Warning: Permanently added '192.168.10.101' (ECDSA) to the list of known hosts.
zhangsan@192.168.10.101's password:                                                                 //输入密码
Last login: Sun Jun 16 14:42:09 2024
[zhangsan@localhost ~]$ 
2.scp远程复制

通过 scp 命令可以利用 SSH 安全连接与远程主机相互复制文件。使用 scp 命令时,除了必须指定复制源、目标之外,还应指定目标主机地址、登录用户,执行后根据提示输入验证口令即可。例如,以下操作分别演示了下行、上行复制的操作过程,将远程主机中的/etc/passwd 文件复制到本机,并将本机的/etc/vsftpd 目录复制到远程主机。

[root@localhost ssh]# scp 192.168.10.101:/etc/passwd /opt/mypass.txt            //把192.168.10.101下的/etc/passwd的文件拷贝到 本地主机的/opt/mypass.txt
root@192.168.10.101's password: 
passwd                                                                 100%  932     1.7MB/s   00:00    
[root@localhost ssh]# cat /opt/mypass.txt                                     //查看一下是否拷贝成功
3.sftp安全FTP

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

[root@localhost ssh]# sftp 192.168.10.101                    //连接到192.168.10.101
root@192.168.10.101's password: 
Connected to 192.168.10.101.
sftp> ls
anaconda-ks.cfg  
sftp> get aaa                                                //创建aaa
Fetching /root/aaa to aaa
sftp> ls
aaa              anaconda-ks.cfg  bbb              Fetching /root/aaa to aaa
sftp> put /opt/mypass.txt                                   // 下载本地的文件
Uploading /opt/mypass.txt to /root/mypass.txt
/opt/mypass.txt                                                        100%  932     1.2MB/s   00:00    
sftp> exit

4.1.3构建密钥对验证的SSH体系

1.在客户端创建密钥对

在 CentOS 7.3 客户端中,通过 ssh-keygen 工具为当前用户创建密钥对文件。可用的加密算法为 RSA、ECDSA 或 DSA 等(ssh-keygen 命令的“-t"选项用于指定算法类型)。例如,以 zhangsan 用户登录客户端,并生成基于ECDSA 算法的 SSH密钥对(公钥、私钥)文件,操作如下所示。

[root@localhost ~]# ssh-keygen -t rsa                                //生成密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):       
Enter passphrase (empty for no passphrase):                         //输入口令或者直接回车免密码
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:uvQV6pyskO6US5vYxWL2DABruDakUrTxhbwRQOxPopI root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| oo..            |
|  .. o           |
|..o + .          |
|.+o+.+           |
|o=++o   S .      |
|Eo ..+ . . .     |
|=o  @ = . .      |
|o .O % * o       |
|  ..B =.*        |
+----[SHA256]-----+
[root@localhost ~]#  scp id_rsa.pub 192.168.10.101:/root/.ssh/authorized_keys        //把私钥拷贝到192.168.10.101 
//注意目标主机如果没有连接过需要自己创建.ssh目录

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

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

相关文章

Java多线程设计模式之保护性暂挂模式

模式简介 多线程编程中,为了提高并发性,往往将一个任务分解为不同的部分。将其交由不同的线程来执行。这些线程间相互协作时,仍然可能会出现一个线程等待另一个线程完成一定的操作,其自身才能继续运行的情形。 保护性暂挂模式&a…

Circle FFT in the Plonky3

传统的STARK系统需要在域中具有平滑阶数的循环群。如此,可以通过采用快速傅里叶变换(FFT)算法高效的计算多项式的插值点,并在相邻行中加入约束。对于具有阶数为 n n n 单位根的有限域 F p \mathbb{F}_p Fp​,对于很多…

【代码随想录算法训练营第四十天|卡码网46.携带研究材料,416.分割等和子集】

文章目录 卡码网46.携带研究材料二维dp数组一维dp数组(滚动数组) 416.分割等和子集 卡码网46.携带研究材料 这题是01背包问题。 二维dp数组 dp数组[i][j]前一位表示的是物品的种类,后一位表示的是背包的容量,在物体为i时&#…

Android Room数据库使用介绍

1.简介 Room是Google提供的Android架构组件之一,旨在简化数据库操作。它是SQLite的一个抽象层,提供了更易用和安全的API。 Room的总体架构: 2.Room数据库的基础概念 Entity Entity是Room中的数据表,每个Entity类对应一个SQLite表。 DAO …

研发团队的「技术债」如何进行量化管理?

我共事过的每个团队都会讨论技术债。有些团队知道如何管理它,也有些团队因此崩溃瘫痪,甚至有一家公司因为技术债务没有得到解决而宣告失败。 什么是技术债务? 「债务」这个比喻非常恰当。最早提出「技术债务 Technical Debt」比喻的工程师 W…

Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1

OpenSSH更新 一、OpenSSH漏洞二、安装zlib三、安装OpenSSL四、安装OpenSSH 一、OpenSSH漏洞 服务器被扫描出了漏洞需要修复,准备升级为最新openssh服务 1. 使用ssh -v查看本机ssh服务版本号 ssh -V虚拟机为OpenSSH7.4p1,现在准备升级为OpenSSH9.7p1…

Centos7 安装oracle 11.2.0.4

荆轲刺秦王 1. 准备工作 需要下载 Oracle 11g 安装包 2.HostName修改: hostnamectl set-hostname oracle 3. 配置hostname(本机IP映射)注意:192.168.116.129 需要换乘本地ip vi /etc/hosts 192.168.116.129 oracle # 测试hos…

创新实训2024.06.17日志:大模型微调总结

前段时间其实我们已经部署了大模型,并开放了对外的web接口。不过由于之前某几轮微调实验的大模型在对话时会有异常表现(例如响应难以被理解),因此我在项目上线后,监控了数据库里存储的对话记录。确定了最近一段时间部署…

docker部署prometheus

1.拉取镜像 docker pull prom/prometheus2.创建配置文件 cd /root/prometheus touch prometheus.yml touch first_rules.yml3.配置文件内容 prometheus.yml文件内容 # my global config global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Defau…

Docker的常见问题

1.容器启动失败 检查映像&#xff1a;运行 docker images 确认所需映像存在。检查Dockerfile&#xff1a;验证Dockerfile中的指令无误。查看日志&#xff1a;使用 docker logs <container_id> 查找启动失败的具体原因。资源检查&#xff1a;运行 docker info 或 docker …

基 CanMV 的 C 开发环境搭建

不论是使用 CanMV 提供的基于 C 语言和 FreeRTOS 的应用开发方式开发应用程序或是编译 CanMV 固件&#xff0c;都需要搭建基于 CanMV 的 C 开发环境&#xff0c;用于编译 CanMV 源码。 1. 开发环境搭建说明 CanMV 提供了基于 C 语言和 FreeRTOS 的应用开发…

模拟面试三

1. 你能介绍一下什么是微服务架构&#xff1f; 答案&#xff1a;微服务架构是一种软件开发方法&#xff0c;将一个应用程序拆分成一系列小型、自治、可独立运行的服务&#xff0c;每个服务都专注于完成一个特定的业务功能&#xff0c;并通过轻量级的通信机制进行互联。 2. 你…

【教程】hexo 更换主题后,部署在 Github Page 无 CSS 样式

目录 前言环境hexo 更换主题解决部署到 Github Page 后无 CSS 样式的问题 前言 最近更换了 hexo 的主题后&#xff0c;重新部署到 Github Page 上发现不显示 CSS 样式&#xff0c;但在本地启动时又是正常的效果。此外&#xff0c;检查资源请求&#xff0c;发现多个 .css 文件请…

VO 和 DO

什么是 VO? VO&#xff08;Value Object&#xff09; 值对象&#xff08;Value Object&#xff0c;简称 VO&#xff09; 是一种对象&#xff0c;它主要用于在不同的层次之间传递数据。VO 通常是不可变的&#xff0c;即它的状态一旦被创建&#xff0c;就不会改变。值对象没有…

【软件测试】软件测试入门

软件测试入门 一、什么是软件测试二、软件测试和软件开发的区别三、软件测试在不同类型公司的定位1. 无组织性2. 专职 OR 兼职3. 项目性VS.职能性4.综合型 四、一个优秀的软件测试人员具备的素质1. 技能相关2. 非技能相关 一、什么是软件测试 最常见的理解是&#xff1a;软件测…

【效率提升】倍速插件Global Speed

global speed插件可以控制网页在线视频&#xff0c;能够应用在Edge和Google浏览器中&#xff0c;只需要在插件商店中下载并配置即可。这款插件的配置选项有很多&#xff0c;支持视频倍速&#xff08;最低0.25倍速&#xff0c;最高16倍速&#xff09;&#xff0c;固定标签页&…

【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式

1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选&#xff1f;> 不推荐勾选&#xff08;它的作用是用来自动转换ASCII编码&#xff0c;防止文件乱码&am…

Modbus协议转Profibus协议模块接热传感器配置攻略

一、前言 在工业自动化控制领域&#xff0c;Modbus协议和Profibus协议是两种常见的通讯协议&#xff0c;它们在设备之间传输数据起着至关重要的作用。而Modbus协议转Profibus协议模块&#xff08;XD-MDPB100&#xff09;设备&#xff0c;则扮演着连接不同通讯协议的桥梁角色。…

常规业务如何做到幂等性

一、前端防抖处理&#xff1a; 采用队列模式&#xff0c;队列插入判重处理&#xff0c;避免多次同事调用接口 二、后端处理 1、新增接口可根据数据库设计采用唯一索引方案机制&#xff0c;避免重复调用 2、更新采用乐观锁 例如update table set where version指定值 3、采用状态…

来点干货,比较好用的3D在线展示网站

制作好的3D模型需要客户对3D模型进行确认&#xff0c;图片和视频给过去&#xff0c;后面往往都会扯皮。无意间翻到几个3D展示网站&#xff0c;试用了下都不是很完善&#xff0c;后面在网上大量查阅资料并经过实际使用&#xff0c;发现几个相对比较好用值得推荐的。 1、Sketchf…