Ubuntu 22.04/20.04 安装 SSH

OpenSSH 是安全远程通信的重要工具,提供了一种安全的方式来访问和管理服务器。对于那些计划在 Ubuntu 22.04 Jammy Jellyfish 或其较旧的稳定版本的 Ubuntu 20.04 Focal Fossa 上安装 SSH 并启用它的人来说,了解其功能和优势至关重要。

OpenSSH的主要特点

  • 安全通信:通过强大的加密功能,OpenSSH 确保主机之间传输的数据是安全的,并防止未经授权的访问。
  • 远程服务器管理:OpenSSH 允许用户远程有效地管理服务器,从而简化启动和停止服务、修改配置和故障排除等任务。
  • 多面性:使用 OpenSSH,用户可以访问远程计算机、安全地传输文件以及出于各种目的的隧道流量。它的灵活性使定制能够满足特定需求。
  • 开源:作为一个免费的开源应用程序,OpenSSH可供所有人访问,为昂贵的商业选择提供了可靠的替代方案。

凭借这些功能,OpenSSH 是用于远程服务器访问和管理的可靠且安全的工具,使其成为 Ubuntu 用户的首选。以下指南将引导您在 Ubuntu 22.04 Jammy Jellyfish 或 Ubuntu 20.04 Focal Fossa 上安装和启用 SSH,并附有增强安全性的配置提示。

在 Ubuntu 上安装 SSH 22.04 或 20.04 通过 APT

在安装 SSH 之前更新 Ubuntu

首先,使用以下命令更新软件包列表并升级现有软件包,以避免系统上出现任何冲突。

sudo apt update && sudo apt upgrade

接下来,通过运行以下命令安装 OpenSSH:

sudo apt install openssh-server

要检查 Ubuntu 系统上安装的 OpenSSH 服务器的版本,您可以在终端中使用以下命令:

ssh -V

在 Ubuntu 22.04/20.04 上配置 SSH

安装 OpenSSH 后,对其进行配置以满足您的需求。默认配置适合大多数用户,但如有必要,请编辑 /etc/ssh/sshd_config 文件以调整设置。

尽管 OpenSSH 默认使用安全加密和身份验证,但请考虑采取其他步骤来进一步增强安全性。

更改 Ubuntu 上的 OpenSSH 端口

更改默认的 OpenSSH 端口是防止未经授权访问您的 Ubuntu 计算机的有效方法。限制登录尝试次数和禁用 root 登录可以进一步增强安全性。

要更改默认的 OpenSSH 端口,请编辑 /etc/ssh/sshd_config 配置文件。请使用文本编辑器打开文件:

sudo vim /etc/ssh/sshd_config

在配置文件中,找到“端口”选项,并将端口号修改为所需的端口号。例如,若要将端口更改为 2222,请添加以下行:

Port 2222

保存文件并退出编辑器。若要应用更改,请使用以下命令重新启动 OpenSSH 服务:

sudo systemctl restart sshd

在 Ubuntu 上使用 SSH 限制登录尝试

接下来,您可以限制 OpenSSH 允许的登录尝试次数。这有助于防止暴力攻击。为此,请再次编辑 /etc/ssh/sshd_config 文件:

sudo vim /etc/ssh/sshd_config

找到 MaxAuthTries 选项,并将该值修改为所需的数字。例如,若要将允许的最大登录尝试次数设置为 3,请添加以下行:

MaxAuthTries 3

保存文件并退出编辑器。若要应用更改,请使用以下命令重新启动 OpenSSH 服务:

sudo systemctl restart sshd

在 Ubuntu 上禁用 SSH Root 登录

以下推荐的安全配置是禁用 OpenSSH 的 root 登录。这有助于防止攻击者获得对 Ubuntu 计算机的 root 访问权限。再次编辑 /etc/ssh/sshd_config 文件:

sudo vim /etc/ssh/sshd_config

找到 PermitRootLogin 选项,并将值更改为 no。例如:

PermitRootLogin no

保存文件并退出编辑器。若要应用更改,请使用以下命令重新启动 OpenSSH 服务:

这些配置更改将有助于保护您的 Ubuntu 计算机并防止未经授权的访问。

在 Ubuntu 上使用 UFW 规则锁定 SSH

Ubuntu 防火墙 (UFW) 是一个前端工具,可简化 Ubuntu 计算机防火墙的管理。UFW 通过将传入连接限制为仅到必要的端口和 IP 地址,从而进一步加强 OpenSSH 安全性。尽管 Ubuntu 通常默认包含 UFW(简单防火墙),但如果系统上还没有它,您可能需要安装它。您可以使用下面提供的命令执行此操作:

sudo apt install ufw

安装后,可以通过运行以下命令,使用 UFW 允许 OpenSSH 端口(默认为 22)上的传入连接:

sudo ufw allow ssh

如果更改了默认的 OpenSSH 端口,则必须改为允许新端口上的传入连接。例如,如果将端口更改为 2222,请改用以下命令:

sudo ufw allow 2222/tcp

然后,您可以使用以下命令检查 UFW 状态:

默认情况下,UFW 应拒绝所有其他传入连接。但是,您可以通过指定允许访问 Ubuntu 计算机的 IP 地址或 IP 地址范围来限制与 OpenSSH 的传入连接。

例如,如果只想允许来自特定 IP 地址的传入连接,请使用以下命令:

sudo ufw allow from 203.0.113.0 to any port 22

将 203.0.113.0 替换为要允许的 IP 地址。

在 Ubuntu 22.04/20.04 上通过 SSH 连接到远程服务器

在 Ubuntu 上通过 SSH 建立连接

以下是有关如何使用不同的身份验证方法和端口进行连接的步骤。

ssh username@remote_server

将“username”替换为您帐户的用户名,将“remote_server”替换为所需服务器的主机名或 IP 地址。当您启动命令时,系统将提示您输入密码以进行身份验证并成功建立连接。

使用公钥身份验证进行连接

为了提高安全性,SSH 支持使用公钥身份验证进行连接。这种方法避免了传统的密码输入,需要私钥来验证您的身份。要使用公钥身份验证,请执行:

ssh -i /path/to/private_key username@remote_server

在此命令结构中,应替换为私钥文件的实际路径,而 和 需要分别替换为您的用户名和远程服务器的 IP 地址或主机名。/path/to/private_keyusernameremote_server

指定连接端口

SSH 传统上使用端口 22 进行连接,但某些服务器可能使用不同的端口。要通过备用端口进行连接,请输入:

ssh -p PORT_NUMBER username@remote_server

确保替换为远程服务器侦听传入 SSH 连接的实际端口号。PORT_NUMBER

scp /path/to/local/file username@remote_server:/path/to/remote/directory

此命令需要修改,以反映本地系统和远程服务器上的实际文件和目录路径,以及正确的 usernameremote_server

其他常用 SSH 命令

对于日常操作,您可能会发现以下 SSH 命令很方便:

要将目录及其内容复制到远程服务器,请执行以下操作:

scp -r /path/to/local/directory username@remote_server:/path/to/remote/directory

在远程服务器上运行命令:

ssh username@remote_server 'command_to_run'

对 Ubuntu 22.04/20.04 上的 SSH 故障排查

如果您在 Ubuntu 计算机上遇到任何 OpenSSH 问题,以下是一些标准的故障排除步骤:

通过运行以下命令,检查 OpenSSH 日志中是否有任何错误消息:

sudo tail -f /var/log/auth.log

通过运行以下命令检查 OpenSSH 服务的状态:

sudo systemctl status sshd

查看时,请检查常见错误,例如不正确的防火墙配置阻止传入的 OpenSSH 端口连接。此外,请确保 OpenSSH 服务用户对服务具有正确的权限和访问权限。

Systemd 命令输出演示了 OpenSSH 在 Ubuntu 22.04 或 20.04 上的活动和运行状态

结论

本指南全面概述了 Ubuntu 上的 OpenSSH 安装和配置。它讨论了使用 OpenSSH 进行安全通信的重要性、检查 OpenSSH 安装、概述安装和配置过程、解释如何保护 OpenSSH 以及解决常见问题。请遵循本指南,使用 Ubuntu 桌面或服务器进行有效且安全的 OpenSSH 管理。

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

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

相关文章

node加速镜像源 管理工具nrm安装使用

我们在开发node.js的时候,经常会遇到某些包无法下载, 或者下载太慢, 还有需要加载我们自己是有源中的包的问题, 今天推荐给大家的这款 nrm 镜像源管理工具就是解决这类问题的. 安装 方法也很简单, 执行 npm install nrm -g 就可以安装 # 安装nrm npm install nrm -g# 添加…

普通用户用哪款电脑杀毒软件最好?

前言 各位小伙伴接触到电脑的时候,都一定有听过“电脑一定要安装杀毒软件”这句话。 毕竟在电脑诞生之初到今天,电脑木马和病毒依旧存在。 中了木马或病毒的电脑会出现什么现象?具体得看中了什么样的病毒。 但轻则资料泄漏、电脑瘫痪&…

CRYPTO现代密码学学习

CRYPTO现代密码学学习 RC4 加密算法RSA加密解密DES加密解密详解密钥的生成密文的生成 RC4 加密算法 简单介绍:RC4加密算法是一种对称加密算法,加密和解密使用同一个函数 初始化分为以下几个步骤 初始化存储0-255字节的Sbox(其实就是一个数组)填充key到…

【Bug解决】Failed to configure a DataSource

1、问题描述 SpringBoot项目在启动时报出下面的错误: Description: Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider…

什么是差值表达式

在Vue.js中,差值表达式是一种基本的数据绑定形式,用于将数据绑定到文档对象模型(DOM)上。差值表达式通常使用双大括号 {{ }} 来表示,这种语法非常直观。当Vue实例的数据发生变化时,差值表达式的内容也会相应…

css 编写圆角矩形只有左侧一半的样式

实现该样式&#xff1a;尺寸大小可自由调整修改 <div class"abc"></div>.abc{width: 50px;height: 300px;border: 1px solid red;border-right: none;border-top-left-radius: 10px;border-bottom-left-radius: 10px;}

设计模式:抽象工厂模式(讲故事易懂)

抽象工厂模式 定义&#xff1a;将有关联关系的系列产品放到一个工厂里&#xff0c;通过该工厂生产一系列产品。 设计模式有三大分类&#xff1a;创建型模式、结构型模式、行为型模式 抽象工厂模式属于创建型模式 上篇 工厂方法模式 提到工厂方法模式中每个工厂只生产一种特定…

(Java企业 / 公司项目)Nacos的怎么搭建多环境配置?(含相关面试题)(二)

上一篇讲了一个单体服务中配置&#xff0c;传统的Nacos配置但是在微服务架构当中肯定都是多环境下配置&#xff0c;比如生产环境&#xff0c;dev测试环境等等。 第一种方式模拟开始&#xff1a; 首先展示在生产环境中nacos如何配置&#xff0c;在模块下新建一个配置文件&…

vue3-13

token可以是后端api的访问依据&#xff0c;一般绝大多数时候&#xff0c;前端要访问后端的api,后端都要求前端请求需要携带一个有效的token,这个token用于用户的身份校验&#xff0c;通过了校验&#xff0c;后端才会向前端返回数据&#xff0c;进行相应的操作&#xff0c;如果没…

PE解释器之PE文件结构

PE文件是由许许多多的结构体组成的&#xff0c;程序在运行时就会通过这些结构快速定位到PE文件的各种资源&#xff0c;其结构大致如图所示&#xff0c;从上到下依次是Dos头、Nt头、节表、节区和调试信息(可选)。其中Dos头、Nt头和节表在本文中统称为PE文件头(因为SizeOfHeaders…

virtualbox新建Ubuntu虚拟机

1、下载virtualbox 2、下载Ubuntu镜像 https://ubuntu.com/blog/desktop virtualbox安装好后&#xff0c;点击新建 选择linux类型 选择内存2~4G都行 选择先不添加虚拟硬盘 创建硬盘&#xff0c;管理点击虚拟介质管理 点击创建&#xff0c;选择创建类型为vmdk&#xff0…

Linux 进程(八) 进程的退出码

main 函数的返回值叫做进程的退出码。当进程成功退出的时候&#xff0c;我们一般用0来表示。进程失败的时候一般用非零来表示。我们使用不同的数字来表示进程退出时不同的失败原因。 我们查看系统的有多少退出码以及其含义时需要用到strerror() 他的头文件和用法如下。 通过一…

输入输出流

1.输入输出流 输入/输出流类&#xff1a;iostream---------i input&#xff08;输入&#xff09; o output&#xff08;输出&#xff09; stream&#xff1a;流 iostream&#xff1a; istream类&#xff1a;输入流类-------------cin&#xff1a;输入流类的对象 ostream类…

Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜,Kotlin(2)

Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜&#xff0c;Kotlin&#xff08;2&#xff09; 在 Android Matrix剪切clipPath缩放scale图片postTranslate圆形放大镜&#xff0c;Kotlin&#xff08;1&#xff09; Android Matrix剪切clipPath缩放scale图片po…

Apache Doris (六十): Doris - 物化视图

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录

大文件快速传输解决办法汇总

在数据传输普及的当今时代&#xff0c;文件体量也在不断的突破它”大“的上线&#xff0c;很多企业也在面临着这类大文件快速传输的烦恼&#xff0c;而且这里面的“大”可不是一般意义的几M,几G的文件&#xff0c;它有可能上T级甚至是PB级别、TB级别的大文件&#xff0c;或者是…

CCNP课程实验-07-OSPF-Trouble-Shooting

目录 实验条件网络拓朴 环境配置开始排错错点1&#xff1a;R1-R2之间认证不匹配错误2&#xff1a;hello包的时间配置不匹配错误3&#xff1a;R2的e0/1接口区域配置不正确错误4&#xff1a;R4的e0/1接口没有配置进OSPF错误5&#xff1a;R2的区域1没有配置成特殊区域错误6&#x…

文件摆渡系统如何实现网络隔离后的数据交换、业务流转?

近年来全球网络安全威胁态势的加速严峻&#xff0c;使得企业对于网络安全有了前所未有的关注高度。即便没有行业性的强制要求&#xff0c;但在严峻的安全态势之下&#xff0c;企业的网络安全体系建设正从“以合规为导向”转变到“以风险为导向”&#xff0c;从原来的“保护安全…

SpringCloud微服务安全之API审计日志功能实现

SpringCloud微服务安全之API审计日志功能实现 1.审计功能介绍2.记录的实体类设计3.保存审计记录到数据库的工具4.审计功能实现1.审计功能介绍 审计日志 定义:谁,在什么时间,干了什么事。位置:认证之后,授权之前。这样就知道是谁在访问,拒绝掉的访问也能被记录。如果放在认…

分享10篇优秀论文,涉及图神经网络、大模型优化、表格分析

引言 第38届AAAI人工智能年度会议将于2024年2月在加拿大温哥华举行。今天给大家分享十篇AAAI2024论文&#xff0c;主要涉及图神经网络&#xff0c;大模型幻觉、中文书法文字生成、表格数据分析、KGs错误检测、多模态Prompt、思维图生成等。 论文获取方式&#xff0c;回复&am…