如何在 Linux 中安装 OpenSSH 服务器
作为一名网络管理员,需要对远程登录协议(如rlogin、telnet和ssh )有深入的了解。本文将讨论的是ssh。
SSH是一种安全远程协议,用于在其他机器上远程工作或使用SCP(安全复制)命令在计算机之间传输数据。但是,什么是OpenSSH以及如何在Linux发行版中安装它?
什么是 OpenSSH?
OpenSSH是一套免费的开源计算机工具,用于通过使用ssh协议在计算机网络上提供安全加密的通信。许多刚接触计算机和协议的人对OpenSSH产生了误解,他们认为它是一种协议,但事实并非如此,它是一组使用ssh 协议的计算机程序。
OpenSSH由Open BSD小组开发,并根据简化的BSD 许可证发布。OpenSSH 在系统管理员中得到广泛使用的一个主要因素是其多平台能力和非常有用的优秀功能。
最新版本是OpenSSH 9.3,于2023 年 3 月 15 日发布,并带有许多新功能和补丁,因此如果您已经使用OpenSSH管理您的机器,我建议您升级或从源代码安装 ssh。
为什么通过 Telnet 或 Fp 使用 OpenSSH?
为什么要使用OpenSSH工具而不是ftp和Telnet,最重要的原因是使用OpenSSH 的所有通信和用户凭据都经过加密,并且还受到保护,免受中间人攻击。如果第三方试图拦截您的连接,OpenSSH会检测到并通知您。
OpenSSH 功能
- 安全通信
- 强加密(3DES、Blowfish、AES、Arcfour)
- X11转发(加密X Window 系统流量)
- 端口转发(传统协议的加密通道)
- 强身份验证(公钥、一次性密码和 Kerberos 身份验证)
- 代理转发(单点登录)
- 互操作性(符合SSH 1.3、1.5和2.0协议标准)
- SFTP客户端和服务器支持SSH1和SSH2协议。
- Kerberos和AFS 票证传递
- 数据压缩
在 Linux 上安装 OpenSSH 服务器
要安装OpenSSH,请打开终端并以超级用户权限运行以下命令。
在 Debian/Ubuntu/Linux Mint 上
在基于 Debian 的发行版上,您可以使用以下apt 命令来安装 openssh 服务器和客户端,如图所示。
$ sudo apt install openssh-server openssh-client
在 RHEL/Centos/Fedora 上
在基于RedHat的发行版上,键入以下yum命令来安装openssh服务器和客户端。
# yum -y install openssh-server openssh-clients
在 Linux 中配置 OpenSSH 服务器
现在是时候通过ssh 配置文件配置我们的OpenSSH行为了,但在编辑/etc/ssh/sshd_config文件之前,我们需要备份它的副本,以便万一我们犯任何错误时都有原始副本。
打开终端并运行以下cp 命令来复制原始sshd配置文件。
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original_copy
从我输入的命令中可以看出,我添加了original_copy 后缀,所以每次看到这个文件时,我都知道它是 sshd 配置文件的原始副本。
如何连接到 OpenSSH
在继续之前,我们需要验证我们的openssh服务器是否正常工作。怎么做?您可以尝试通过openssh客户端从本地主机连接到 openssh 服务器,或者使用nmap进行端口扫描,但我喜欢使用一个名为netcat的小工具,也称为TCP / IP瑞士军刀。我喜欢在我的计算机上使用这个神奇的工具,所以让我向您展示它。
# nc -v -z 127.0.0.1 22
参照netcat结果,ssh服务正在我的机器的22端口上运行。非常好!如果我们想使用其他端口而不是22怎么办?我们可以通过编辑 sshd 配置文件来实现。
更改 SSH 端口
将OpenSSH设置为监听TCP端口13而不是默认的 TCP 端口22。使用您喜欢的文本编辑器打开sshd_config文件,并将端口指令更改为13。
Port 13
重新启动OpenSSH服务器,以便配置文件中的更改可以通过键入以下命令并运行netcat来验证您设置的监听端口是否打开。
$ sudo systemctl restart sshd
我们是否应该验证我们的 openssh 服务器是否在监听端口 13?这个验证是必要的,所以我调用了我可爱的工具netcat来帮助我完成这项工作。
# nc -v -z 127.0.0.1 13
您想让您的openssh 服务器显示漂亮的登录横幅吗?您可以通过修改/etc/issue.net文件的内容来实现。
$ nano /etc/issue.net
粘贴以下横幅消息。
Authorized access only! If you are not authorized to access or use this system, disconnect now!
接下来,在 sshd 配置文件中添加以下行。
Banner /etc/issue.net
更改 SSH 配置后,请确保重新启动。
$ sudo systemctl restart sshd
结论
当谈到配置openssh 服务器的方式时,你可以用openssh工具做很多事情,我可以说你的想象力是无限的!