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.hqwc.cn/news/317375.html

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

相关文章

x-cmd pkg | zellij - 比 tmux 更容易上手的终端多路复用器

简介 zellij 是一个面向开发、运营以及任何热爱终端的人的终端多路复用器 (Terminal Multiplexers),类似于 tmux 和 screen,内置许多功能,允许用户扩展并创建自己的个性化环境。 zellij 的设计理念是不牺牲简单性来换…

Excel·VBA二维数组组合函数的应用实例之概率计算

看到一个视频《李永乐老师的抖音 - 骰子概率问题》,计算投出6个骰子恰好出现1、2、3、4、5、6这6个点数的概率 李永乐老师的计算方法是,第1个概率为1即6/6,第2个不与之前相同的概率为5/6,第3个同理概率为4/6,因此该问…

【WPF.NET开发】WPF中的输入

本文内容 输入 API事件路由处理输入事件文本输入触摸和操作侧重点鼠标位置鼠标捕获命令输入系统和基元素 Windows Presentation Foundation (WPF) 子系统提供了一个功能强大的 API,用于从各种设备(包括鼠标、键盘、触摸和触笔)获取输入。 本…

【随手查】TINA-TI

快速导航 一、如何导入TI中的器件1、如果TI官网直接给了TSM文件2、如果官网没有直接给TSM文件 一、如何导入TI中的器件 1、如果TI官网直接给了TSM文件 以芯片THS4303为例,在TI中搜索元器件THS4303后 然后可以看到,这里直接给出了TINA的模型&#xf…

JAVA对象、List、Map和JSON之间的相互转换

JAVA对象、List、Map和JSON之间的相互转换 1.Java中对象和json互转2.Java中list和json互转3.Java中map和json互转 1.Java中对象和json互转 Object obj new Object(); String objJson JSONObject.toJSONString(obj);//java对象转json Object newObj JSONObject.parseObject(…

用户管理第2节课 -- idea 2023.2 创建表--鱼皮

二、【先确定idea版本&鱼皮是否一致,再决定看不看这行】建表 2.1 idea 里连接数据库,通过可视化建表 2.1.1 清空表中数据 的 命令 truncate 清空 2.1.2 先输入删除表,的命令,再选中这行命令,执行,…

平安人寿新疆分公司:深化消费帮扶,为乡村振兴注入平安力量

为深入贯彻关于“三农”工作的重要论述,落实自治区乡村振兴局的指导部署,近日,平安人寿新疆分公司一把手刘湑杰总一行赴和田县访惠聚驻村工作队走访,慰问了驻村工作队、五老人员及困难村民。 期间,刘湑杰总一行调研了…

解决burpsuite代理8080端口无法勾选以及卸载NI系列软件的方法

使用burpsuite中遇到这样一个问题 默认的8080端口无法绑定 提示端口已经被占用 尝试绑定其他端口,是可行的,也可以正常抓包 但是总感觉每次进来都设置添加一次,有点麻烦不舒服 那么我们来看一下8080端口到底被什么进程占用了 使用如下命令…

实验三-HBase数据库操作

第一步:首先登陆ssh,之前设置了无密码登陆,因此这里不需要密码;再切换目录至/usr/local/hadoop ;再启动hadoop ssh localhost cd /usr/local/hadoop ./sbin/start-dfs.sh 输入命令jps,能看到NameNode,Data…

每日HiveSQL_求解运动员最大连胜的次数_15

1.现需要从运动员比赛结果表中统计每个运动员最大连胜的次数 需求结果: 2.所用到的表和数据 --表创建 CREATE TABLE athlete_results (athlete_id INT,match_time TIMESTAMP,result VARCHAR(10) -- win, lose, draw );--数据装载 INSERT INTO athlete_results …

GBASE南大通用 GCDW阿里云计算巢:自动化部署云原生数据仓库

目前,GBASE南大通用已与阿里云计算巢合作,双方融合各自技术优势,助力企业用户实现云上数据仓库的自动化部署,让用户在云端获取数据仓库服务“更简单”,让用户在云端使用数据仓库服务“更便捷”,满足企业用户…

金融追梦者,向着春天出发——社科院与美国杜兰大学金融管理硕士

随着时代的进步和社会的变迁,教育已经不再是单纯的学生时代的事情,而是贯穿人的一生。特别是在金融行业,由于其变幻莫测的特性,在职继续攻读硕士学位的人越来越多。他们希望通过进一步的学习和研究,提升自己的专业素养…