当前位置: 首页 > news >正文

CentOS中使用SSH远程登录

CentOS中使用SSH远程登录

  • 准备工作
  • SSH概述
  • SSH服务的安装与启动
  • 建立SSH连接
  • SSH配置文件
  • 修改SSH默认端口
  • SSH文件传输

准备工作

两台安装CentOS系统的虚拟机
客户机(192.168.239.128)
在这里插入图片描述
服务器(192.168.239.129)
在这里插入图片描述

SSH概述

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。
它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。

SSH服务的安装与启动

  1. 查看当前的centos是否安装了openssh-server服务。默认安装openssh-server服务。
rpm -qa|grep -E "openssh"

查看是否安装了以下三个服务

[user@localhost ~]$ rpm -qa|grep -E "openssh"
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
  1. 如果没有,通过以下命令安装openSSH
yum install openssh-server -y
  1. 启动SSH服务
  service sshd start

建立SSH连接

基于口令的安全验证:只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。格式如下:

ssh 用户名@服务器IP

示例 客户机连接服务器
在这里插入图片描述
基于密钥的安全验证:你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

  1. 创建密钥对命令:
ssh-keygen

示例 客户机创建密钥对命令

[root@localhost ~]# ssh-keygen
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:817WC5/GOz2ozvF+iGd8WgwnyhN9mr9YZiCYtxX2zbc root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|             o   |
|          o o o..|
|        So + * ++|
|         oo *.X o|
|          .**++E |
|         ..++O@*.|
|          o+=*O=o|
+----[SHA256]-----+

2.查看密钥对是否生成(id_rsa为私钥,id_ras.pub为公钥)

[root@localhost ~]# cd .ssh
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub  known_hosts

3.将密钥发送至服务器,命令格式如下:

ssh-copy-id 用户名@服务器IP

示例 客户机将密钥发送至服务器

[root@localhost .ssh]# ssh-copy-id user@192.168.239.129
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@192.168.239.129's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'user@192.168.239.129'"
and check to make sure that only the key(s) you wanted were added.[root@localhost .ssh]# 

4.使用ssh免密登录到服务器

[root@localhost .ssh]# ssh user@192.168.239.129
Last login: Mon Jul  1 13:58:22 2024 from 192.168.239.128

SSH配置文件

OpenSSH的主配置文件:/etc/ssh/sshd_config,通过vim命令编辑主配置文件。

 vim /etc/ssh/sshd_config

各参数详情:

Port=22  设置SSH的端口号是22(默认端口号为22)Protocol 2  启用SSH版本2协议ListenAddress 192.168.0.222  设置服务监听的地址DenyUsers   user1 user2 foo  拒绝访问的用户(用空格隔开)AllowUsers  root osmond vivek  允许访问的用户(用空格隔开)PermitRootLogin  no  禁止root用户登陆PermitEmptyPasswords no  用户登陆需要密码认证PasswordAuthentication  yes  启用口令认证方式

修改SSH默认端口

SSH的默认端口为22 ,在实际生产环境中为了保证服务器安全,通常会修改SSH的默认端口。步骤如下:
1.打开服务器的SSH主配置文件,设置新的端口号

 vim /etc/ssh/sshd_config /Port进行查找Vim中输入i   进行编辑ESE 退出编辑:wq! 强制保存退出

在这里插入图片描述
2.查看22端口相关值

[root@localhost .ssh]# semanage port -l grep ssh
ssh_port_t           tcp               22

3.将10008端口的值修改为上面22端口的相关值

[root@localhost .ssh]# semanage port -a -t ssh_port_t -p tcp 10008semanage(管理SELinux安全策略) 命令参数 
-a 添加
-t 设置类型
-p 设置协议

查看是否添加成功

[root@localhost .ssh]# semanage port -l grep ssh
ssh_port_t           tcp               10008,22

4.防火墙中放行10008端口

[root@localhost]# firewall-cmd --permanent --add-port=10008/tcp
successfirewall-cmd命令参数:
--permanent 永久生效
--add-port 设置端口号/协议

5.重新加载防火墙

[root@localhost]# firewall-cmd --reload
successfirewall-cmd命令参数:
--reload 重新加载

6.重新启动SSH服务

systemctl restart sshd

7.在客户机上测试连接

默认22端口无法连接

[user@localhost ~]$ ssh user@192.168.239.129
ssh: connect to host 192.168.239.129 port 22: Connection refused

指定修改后的10008端口可以进行连接

[user@localhost ~]$ ssh -p user@192.168.239.129
Bad port 'user@192.168.239.129'
[user@localhost ~]$ ssh -p 10008 user@192.168.239.129
The authenticity of host '[192.168.239.129]:10008 ([192.168.239.129]:10008)' can't be established.
ECDSA key fingerprint is SHA256:et3QS43cH/fXhlqnbtuRUjZ+/kgpfqQfiKZ3w5rw84Y.
ECDSA key fingerprint is MD5:8f:f8:f3:b4:af:cb:00:cb:49:cd:8c:65:16:a0:62:8d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.239.129]:10008' (ECDSA) to the list of known hosts.
user@192.168.239.129's password: 
Last login: Mon Jul  1 15:02:34 2024 from 192.168.239.128

SSH文件传输

服务器文件下载到客户机

scp [选项] [服务器用户名@]服务器IP地址或域名:服务器文件 本地目录

示例

[root@localhost ~]# scp -P 10008 user@192.168.239.129:/home/user /home/user
scp: /home/user: not a regular file
[root@localhost ~]# scp -P 10008 user@192.168.239.129:/home/user/11.txt /home/user
11.txt                                        100%    4     0.8KB/s   00:00    
[root@localhost ~]# 

在这里插入图片描述

客户机文件文件上传服务器

scp [选项] 本地文件 [服务器用户名@]服务器IP地址或域名:服务器目录

示例

[root@localhost home]# cd /home/user
[root@localhost user]# ls
11.txt  12.txt
[root@localhost user]# scp -P  10008 12.txt  user@192.168.239.129:/home/user
12.txt                                        100%    4     0.9KB/s   00:00    
[root@localhost user]# 

在这里插入图片描述

相关文章:

CentOS中使用SSH远程登录

CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作 两台安装CentOS系统的虚拟机 客户机(192.168.239.128) 服务器(192.168.239.129) SSH概述 Secure S…...

spring @Autowire注解作用

终于有人把Autowired注解讲清楚了,赞!!!_autowired-CSDN博客...

密码学原理精解【5】

这里写目录标题 移位密码概述代码 希尔密码( Z 256 Z_{256} Z256​)待加密长度被3整除待加密长度不一定被3整除加解密文件 移位密码 概述 以 z 26 运算为例 , k 为密钥 加密: e k ( x ) ( x k ) m o d 26 解密: d k ( x ) ( x − k ) m o d 26 以z_{…...

Unity3D 资源管理YooAsset原理分析与详解

引言 Unity3D 是一款广泛应用于游戏开发、虚拟现实(VR)、增强现实(AR)等领域的强大游戏开发引擎。在开发过程中,资源管理是一项至关重要的任务,它直接影响到游戏的性能和用户体验。YooAsset 是一个基于 Un…...

npm install puppeteer 报错 npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated解决办法

npm install puppeteer 报错如下: npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated. Use PUPPETEER_DOWNLOAD_BASE_URL instead. npm ERR! Error: ERROR: Failed to set up Chrome v126.0.6478.126! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to sk…...

浙大版PTA《Python 程序设计》题目集 参考答案

浙大版PTA《Python 程序设计》题目集 参考答案 本答案配套详解教程专栏,欢迎订阅: PTA浙大版《Python 程序设计》题目集 详解教程_少侠PSY的博客-CSDN博客 01第1章-1 从键盘输入两个数,求它们的和并输出 aint(input()) # 输入a的值 bint(…...

“拆分盘投资:机遇与风险并存

一、引言 随着互联网技术的日新月异,金融投资领域迎来了前所未有的变革,其中拆分盘作为一种新兴的投资模式,正逐渐进入公众的视野。其独特的价值增长逻辑和创新的投资机制,为投资者开辟了新的财富增值渠道。本文旨在深入探讨拆分…...

Java面试题系列 - 第2天

题目:Java中的线程池模型及其配置策略 背景说明:在Java多线程编程中,线程池是一种高效的线程复用机制,能够有效管理和控制线程的创建与销毁,避免频繁创建和销毁线程带来的性能开销。理解和掌握线程池的配置策略对于优…...

AGI|Transformer自注意力机制超全扫盲攻略,建议收藏!

一、前言 2017年,谷歌团队推出一篇神经网络的论文,首次提出将“自注意力”机制引入深度学习中,这一机制可以根据输入数据各部分重要性的不同而分配不同的权重。当ChatGPT震惊世人时,Transformer也随之进入大众视野。一夜之间&…...

QT+OpenCV在Android上实现人脸实时检测与目标检测

一、功能介绍 在当今的移动应用领域,随着技术的飞速发展和智能设备的普及,将先进的计算机视觉技术集成到移动平台,特别是Android系统中,已成为提升用户体验、拓展应用功能的关键。其中,目标检测与人脸识别作为计算机视…...

常见网络攻击方式及防御方法

1. DDOS攻击(分布式拒绝服务攻击) 概念:借助于C/S(客户端/服务器)技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDOS攻击,从而成倍地提高拒绝服务攻击的威力。防护方…...

使用 ESP32 实现无线对讲机功能涉及音频采集、音频传输以及音频播放等多个方面。实现无线对讲机功能的基本步骤和示例代码。

硬件准备 两个 ESP32 开发板两个 MAX9814 麦克风模块(或其他兼容的模拟麦克风模块)两个 MAX98357A DAC 模块(或其他兼容的音频放大器模块)扬声器 接线 麦克风模块 -> ESP32 ADC 引脚ESP32 DAC 引脚 -> 音频放大器模块 -&…...

SpringBoot项目,配置文件pom.xml的结构解析

pom.xml 是 Maven 项目对象模型&#xff08;Project Object Model&#xff09;的配置文件&#xff0c;它定义了 Maven 项目的基本设置和构建过程。以下是 pom.xml 文件的基本结构和一些常见元素的解析&#xff1a; 项目声明 (<project>): <modelVersion>: 通常设置…...

教程:Spring Boot中集成Memcached的详细步骤

教程&#xff1a;Spring Boot中集成Memcached的详细步骤 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在现代应用开发中&#xff0c;缓存是提升性能和扩展性…...

Websocket通信实战项目(图片互传应用)+PyQt界面+python异步编程(async) (上)服务器端python实现

Rqtz : 个人主页 ​​ 共享IT之美&#xff0c;共创机器未来 ​ Sharing the Beauty of IT and Creating the Future of Machines Together 目录 项目背景 ​编辑​专有名词介绍 服务器GUI展示 功能(位置见上图序号) 客户端GUI展示&#xff08;h5cssjs&#xf…...

实验一 MATLAB \ Python数字图像处理初步

一、实验目的&#xff1a; 1&#xff0e;熟悉及掌握在MATLAB\Python中能够处理哪些格式图像。 2&#xff0e;熟练掌握在MATLAB\Python中如何读取图像。 3&#xff0e;掌握如何利用MATLAB\Python来获取图像的大小、颜色、高度、宽度等等相关信息。 4&#xff0e;掌握如何在M…...

echarts柱状选中shadow阴影背景宽度设置

使用line&#xff0c;宽度增大到所需要的宽度&#xff0c;设置下颜色透明度就行 tooltip: {trigger: axis,//把阴影的层级往下降z:-15,axisPointer: {type: line,lineStyle: {color: rgba(150,150,150,0.3),width: 44,type: solid,},}, }, series: [{type: bar,barWidth:20,//…...

ArrayBuffer 对象常见的几个用途

ArrayBuffer 在 JavaScript 中的用途广泛&#xff0c;主要用于处理二进制数据。 ArrayBuffer 对象、 TypedArray 视图和 DataView 视图是 JavaScript 操作二进制数据的一个接口。本文介绍ArrayBuffer 对象的常见的一些用法。 1. 网络传输二进制数据 使用方法&#xff1a;通过 …...

STC89C52RC单片机设计的FM收音机+自动搜台+存储电台(程序+原理图+PCB)

资料下载地址&#xff1a;STC89C52RC单片机设计的FM收音机自动搜台存储电台&#xff08;程序原理图PCB) 1、实物图 2、部分程序 #include <reg52.h> #include "tea5767.h" #include "delay.h" #include "lcd1602.h" //K1:上一台 K2:下一…...

【若依】关闭当前标签页并跳转路由到其他页面

使用场景如&#xff1a;当在新增/编辑路由页面提交成功后&#xff0c;需要关闭当前页&#xff0c;并跳转回列表页。 实现代码&#xff1a; this.$store.dispatch("tagsView/delView", this.$route); //关闭当前页 this.$router.replace({ path: "/xxx/xxx"…...

基于注意力机制的科学数据压缩:层次化架构与误差边界保证

1. 项目概述&#xff1a;当科学计算遇上注意力机制在计算流体动力学、气候模拟、高能物理这些前沿科学领域&#xff0c;每一次仿真实验都可能产生TB甚至PB级别的数据。这些数据并非杂乱无章&#xff0c;它们通常诞生于高度结构化的多维网格之上&#xff0c;每个网格点承载着一个…...

如何快速掌握游戏MOD制作:LSLib开源工具箱的终极指南

如何快速掌握游戏MOD制作&#xff1a;LSLib开源工具箱的终极指南 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib 你是否曾经梦想过修改《神界原罪》或《博德之门3》…...

具身智能场景优先级矩阵

表格成熟度 \ 难度低难度中难度高难度已规模化商用仓储搬运机器人、家用清洁机器人、园区巡检机器人餐饮配送、医院物资转运、工业机械臂装配电力 / 管道常规巡检快速落地期商超盘点、场馆迎宾导览康复外骨骼、汽车产线机器人、固定航线无人机城市道路自动驾驶、桥梁隧道探伤前…...

跟着 MDN 学CSS day_14:(尺寸调整技能测试与实战解析)

在掌握了 CSS 元素尺寸调整的理论知识之后&#xff0c;实际动手练习是检验理解程度的最佳方式。MDN 的"Test your skills: Sizing"这一节提供了三个精心设计的任务&#xff0c;分别覆盖了最小高度与固定高度的区别、百分比宽度与内边距在 border-box 模型下的计算、以…...

Chat2DB:用AI重新定义数据库操作,让SQL编写效率提升300%的终极解决方案

Chat2DB&#xff1a;用AI重新定义数据库操作&#xff0c;让SQL编写效率提升300%的终极解决方案 【免费下载链接】Chat2DB AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHo…...

全面精通QuPath数字病理分析:实战应用全解析

全面精通QuPath数字病理分析&#xff1a;实战应用全解析 【免费下载链接】qupath QuPath - Open-source bioimage analysis for research 项目地址: https://gitcode.com/gh_mirrors/qu/qupath QuPath是一款专为生物医学研究和数字病理分析设计的开源软件&#xff0c;它…...

2026年Java面试突围指南(附高频场景题+答案)

前言今年的面试比往年要难得多&#xff0c;各个互联网企业对于 Java 岗位的要求越来越多&#xff0c;也越来越高&#xff0c;主要是初级岗位已经趋近饱和&#xff0c;但高级岗位又相对来说缺乏&#xff0c;这类的人才偏少&#xff0c;因此作为 Java 开发人员&#xff0c;我们应…...

独立开发者如何利用Taotoken的Token Plan套餐有效控制月度预算

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何利用Taotoken的Token Plan套餐有效控制月度预算 作为一名独立开发者&#xff0c;项目预算通常有限&#xff0c;而AI…...

告别代码迷宫,拥抱可视化开发:Understand Anything 重塑代码理解新范式

在软件开发领域&#xff0c;代码理解始终是贯穿整个研发流程的核心难题。无论是刚入职的新人面对几十万行的庞大项目&#xff0c;还是资深开发者接手历史悠久的遗留系统&#xff0c;亦或是团队协作中需要快速同步项目架构信息&#xff0c;都会被复杂的代码结构、繁琐的依赖关系…...

艾尔登法环存档救星:5分钟学会角色迁移,告别数百小时进度丢失

艾尔登法环存档救星&#xff1a;5分钟学会角色迁移&#xff0c;告别数百小时进度丢失 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 艾尔登法环存档管理器是你守护游戏进度的终极解决方案。想象一下&#xf…...