CentOS-7 配置 SSH 远程登录

2023-05-16

CentOS-7 配置 SSH 远程登录

  • CentOS 配置 SSH 远程登录
    • 一、环境
    • 二、配置网络
      • 1、检查网络状态
      • 2、下载 net-tools 工具
      • 3、检查主机与虚拟机是否正常连通
    • 三、SSH 配置
      • 1、检查 CentOS 系统是否已经安装了 SSH 服务
      • 2、安装 SSH 服务
      • 3、配置 SSH 文件
        • 下载安装 vim
        • 修改文件内容
      • 4、设置 SSH 服务
      • 5、配置防火墙
        • 开放端口方式
        • 关闭防火墙方式
  • 注意事项
      • 1、测试 SSH 连接是否能用
      • 2、主机无法 ping 通虚拟机,但反向可以

CentOS 配置 SSH 远程登录

一、环境

版本号:CentOS-7-x86_64-Minimal-2009

Windows版本:Windows 11 家庭中文版 22H2

Vmware版本:VMware® Workstation 17 Pro - 17.0.1 build-21139696

在这里插入图片描述

二、配置网络

1、检查网络状态

首先先检查网络是否畅通,我们还是使用 ping baidu.com 的方法,因为直接 ping IP 还是会有无法找到 DNS 服务器的问题,所以我们直接 ping 域名。类似下图这种就是可以通过主机连接到网络的情况了。

在这里插入图片描述

2、下载 net-tools 工具

检查虚拟机与主机之间的网络状态,也就是虚拟机是否能与主机进行通讯,因为CentOS最小化安装是不带网络工具的,就是没有 net-tools,所以就用不了ifconfig 来查看ip,所以我们先用命令下载 net-tools。

sudo yum install net-tools -y

下载中出现有依赖包,系统会询问用户是否进行下载,这里的 -y 是指如果出现这种询问的情况,自动同意的意思,sudo简单来说就是将用户提升为管理员权限。

在这里插入图片描述

在这里插入图片描述

出现第二张图说明下载完毕了,这时候我们就可以用 ifconfig 查看这台虚拟机的 ip 地址了。

3、检查主机与虚拟机是否正常连通

使用 ifconfig 命令获取虚拟机的 IP 地址。

ifconfig

在这里插入图片描述

打一下码,这里有两张网卡,因为我设置了 桥接NAT 都有,所以会有两张网卡,但是这不影响使用的,主要还是看那个 en33 的网卡,那个是NAT 的网卡。

然后我们打开 windows 的命令行窗口 cmd,ping XXX.XXX.XXX.XXX (虚拟机的IP地址) 虚拟机检查是否能连接到虚拟机。

ping XXX.XXX.XXX.XXX

在这里插入图片描述

到这个地方我们确认主机能能与虚拟机进行正常通讯的,然后我们在命令提示符中输入 ipconfig,找到主机的 IP地址,看好!是无线局域网的 IPV4 地址,找错了概不负责。

在这里插入图片描述

然后我们在用虚拟机 ping 主机的 IP 地址,确认虚拟机也可以与主机进行通讯。

在这里插入图片描述

三、SSH 配置

1、检查 CentOS 系统是否已经安装了 SSH 服务

查看的办法不少,但是最简单的当然就是看服务有没有开启了,所以直接输入 ps -e | grep ssh 来查看 ssh 服务是否在运行当中。

ps -e | grep ssh

在这里插入图片描述

第二种查看当前的centos是否安装了openssh-server服务(默认安装openssh-server服务),使用 rpm -qa|grep -E ssh 命令就可以了。

rpm -qa|grep -E ssh

在这里插入图片描述

看到显示结果有前面三个标红的文件其实就可以进行连接了,到这我就可以直接连接了…但是好像写的也不算多,那我就讲讲没有 SSH 服务的状况吧。

2、安装 SSH 服务

这里我们依旧采用 yum 安装,可能很多人会觉得,为什么不直接进入管理员用户而是要老是使用 sudo 命令呢,这个问题其实很好回答,我们先不说多用户模式下鱼龙混杂的情况,主要是为了让大家养成一个好的习惯,因为工作的时候是不可能说让你直接使用 root 用户的,这样不仅会有很大的安全隐患,如果不小心删除了某些东西,这个后果也是无法预料的。

sudo yum install openssh-server -y

因为我已经安装了这个服务,所以就不带图示了。

3、配置 SSH 文件

OpenSSH的主配置文件:/etc/ssh/sshd_config

因为我们还没有下载 vim 工具,所以我们先使用 vi 命令,也可以下载 vim 工具之后在执行命令也可以,具体看大家需求。

sudo vi /etc/ssh/sshd_config

可以跳过下面的下载安装 vim 工具的那一步

下载安装 vim

下载 vim 工具,然后打开配置文件

sudo install vim -y

在这里插入图片描述

sudo vi /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 启用口令认证方式

这里不需要将中文也写进文档里面,这只是让大家更好理解而已。

4、设置 SSH 服务

输入命令 service sshd restart 来重启 ssh 服务

service sshd restart

同样的,为了方便日后我们连接,我们为其设置开机自启

sudo systemctl enable ssh

最后我们再来查看一下 ssh 服务的运行状态

systemctl status sshd

在这里插入图片描述

到这里我们就可以宣告结束了,但是可能还是会有一种情况,就是那个万恶的防火墙!

5、配置防火墙

在这里插入图片描述

一般来说,防火墙不会那么严格,不会有那么多的影响,但还是会有万一的情况出现。所以我们的解决办法就有两种,第一种比较简单,直接就是关闭防火墙,第二种就是开放 ssh 服务所需要的端口,也就是 22 号端口,这样也可以。

开放端口方式

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent  
sudo service firewalld restart  

上面就是添加一个22端口用于开放,然后重启防火墙的操作。

关闭防火墙方式

systemctl stop firewalld.service

注意事项

上述步骤其实并不能完全绝对地保证能进行 SSH 远程登录,因为我已经做好了,也没有图片,所以就不测试了。

1、测试 SSH 连接是否能用

ssh localhost

这句命令就是用来查看是否能进行远程连接的,俗称自己连自己,一般来说,只要 SSH 服务能用都是能连接的上的,大概都不会出什么太大的问题。

2、主机无法 ping 通虚拟机,但反向可以

这种问题就是单纯地主机找不到虚拟机的地址,但是虚拟机能找到主机的地址,所以就是网卡设置的问题,所以我们先打开网络适配器,进入的方法有很多种,下面就介绍其中一种。

控制面板 -> 网络和 Internet -> 高级网络设置 -> 更多网络适配器选项(注意:这里是win11的操作系统,其他的可能不一定是这样,但是都是打开下图这个地方。

注意这里是 NAT 的连接方式,设置的网络适配器是 VMnet8,但是有些并不是这样设置的(虽然一般都是),如果不是这样的话,可以先看看虚拟机的虚拟网络适配器中设置的究竟是哪个网络适配器(节省时间,我就不图示了)。

在这里插入图片描述

右键单击 -> 属性

在这里插入图片描述

勾选自动获得 IP 地址(O) -> 确定

在这里插入图片描述

到这里应该就可以进行连接了,如果再不行,咱再讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS-7 配置 SSH 远程登录 的相关文章

随机推荐

  • Linux中实现cp命令

    一 main函数的原型 main int argc char argv argc是所有参数的总数量 argv为参数 如该程序所示 xff1a 程序运行结果如图所示 xff1a 二 实现cp指令的思路 1 打开src c 2 通过lseek函
  • Linux系统编程—进程

    一 相关概念 1 进程与程序 xff1a 程序是一个静态的概念 如gcc xxx c o pro xff0c 磁盘中生成的Pro文件 xff0c 叫做程序 进程就是程序运行起来 xff0c 系统中就多了一个进程 2 查看进程的方法 xff1
  • Linux系统编程——进程间通信

    目录 一 无名管道 相关概念 相关函数介 相关说明 实战 二 有名管道 有名管道和无名管道的区别 有名管道和无名管道的相同点 有名管道的相关函数 实战 三 消息队列 消息队列的介绍 消息队列的特点 相关函数 实战 四 共享内存 共享内存优缺
  • 树莓派——初级编程

    一 没有屏幕的树莓派如何使用 通过串口连接树莓派 通过官方给的相关文件和软件 xff0c 对树莓派进行刷系统 设备破解 默认情况 xff0c 树莓派的串口和蓝牙连接 想办法断开蓝牙连接 xff0c 把串口用来数据通信 默认账号 xff1a
  • 树莓派gpio驱动编写——不使用wiringPi

    一 相关概念 总线地址 总线地址 xff1a cpu能够访问内存的范围 可以通过cat proc meminfo 来查看内存条大小 物理地址 物理地址 xff1a 硬件的实际地址或绝对地址 虚拟地址 虚拟地址 xff1a 逻辑 xff08
  • 初识网络七层模型

    OSI 模型 Open System Interconnection model 是一个由国际标准化组织 x10fc01 提出的概念模型 试图 x10fc01 供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架 它将计算机网络体系
  • http的简单实现

    一 http协议的特性 http协议是建立在TCP IP协议之上应用层协议 xff0c 默认端口为80 8080 http协议的的特点是无状态 xff0c 无连接 二 http协议的请求 利用抓包工具httpwatch可以获取报文 http
  • Selenium之css怎么实现元素定位?

    世界上最远的距离大概就是明明看到一个页面元素站在那里 xff0c 但是我却定位不到 xff01 xff01 Selenium定位元素的方法有很多种 xff0c 像是通过id name class name tag name link tex
  • 零基础如何学习计算机语言

    一 认识电脑键盘 1 对于一个还没有接触过计算机的人来说认识键盘是重要的 2 通用的几个常见快捷键 xff1a CTRL 43 C 复制 CTRL 43 V 粘贴 CTRL 43 A 全选 CTRL 43 X 剪切 CTRL 43 S 保存
  • 如何用python连接Linux服务器

    1 安装paramiko库 pip install paramiko 2 使用paramiko库连接linux 导入库 import paramiko 创建一个sshclient对象 ssh 61 paramiko SSHClient 允许
  • 包装类

    注意点 包装类是final的类 包装类对象是不变的 与字符串类似 不变模式 共有8种包装类 int Integer long Long byte Byte short Short float Float double Double bool
  • 数据库和缓存如何保证一致性?

    先更新数据库 xff0c 还是先更新缓存 xff1f 有了这个想法后 xff0c 就准备开始着手优化服务器 xff0c 但是挡在在他前面的是这样的一个问题 由于引入了缓存 xff0c 那么在数据更新时 xff0c 不仅要更新数据库 xff0
  • 一名高级的Javaer,应该了解的 MYSQL 高级知识点

    SQL查询流程 1 通过客户端 服务器通信协议与 MySQL 建立连接2 查询缓存 xff0c 这是 MySQL 的一个可优化查询的地方 xff0c 如果开启了 Query Cache 且在查询缓存过程中查 询到完全相同的 SQL 语句 x
  • Python循环语句

    1 for循环 1 for in range xff08 xff09 简单的for循环代码 xff1a for i in range 5 print i 输出的便是0 4形成一列 xff0c 这里rang xff08 5 xff09 xff
  • 【Android自定义注解】BindView

    注意 xff1a 定义的控件变量必须是public xff0c 否则报错 1 添加类 package com example zhujie import java lang annotation Retention import java
  • 数据可视化——(提示框插件)

    提示框插件有很多 xff0c 不同的框架中选择的也不一样 本文主要分享toastr插件总结它的使用步骤如下 xff1a 使用步骤 xff1a 加载 jqury js toastr css 和 toastr js 文件 全局配置 为方便 xf
  • 文章五:Python 网络爬虫实战:使用 Beautiful Soup 和 Requests 抓取网页数据

    一 简介 本篇文章将介绍如何使用 Python 编写一个简单的网络爬虫 xff0c 从网页中提取有用的数据 我们将通过以下几个部分展开本文的内容 xff1a 网络爬虫的基本概念Beautiful Soup 和 Requests 库简介选择一
  • Android Studio编译无错,但在模拟器上无法运行App

    今天在学习郭霖老师的 第一行代码 第三版时碰到一个问题 xff0c 明明运行无错 xff0c 却无法在模拟器上正常运行 一开始提示说 Waiting for all target devices to come online xff0c 在
  • 突破CloudFlare五秒盾付费版

    使用的第三方库 cloudscraper 可以绕过免费版的五秒盾 但遇到付费版就无能为力了 最近在爬币圈的网站 xff0c 其中有一个网站叫做 xff1a Codebase 1 使用的就是付费版的 CloudFlare 五秒盾 当我们使用
  • CentOS-7 配置 SSH 远程登录

    CentOS 7 配置 SSH 远程登录 CentOS 配置 SSH 远程登录一 环境二 配置网络1 检查网络状态2 下载 net tools 工具3 检查主机与虚拟机是否正常连通 三 SSH 配置1 检查 CentOS 系统是否已经安装了