Linux中安全壳(SSH)是一种可以通过互联网上的安全和单向加密通讯系统访问另一台笔记本的形式。通过在Linux中启用SSH服务,你可以使用SSH合同作为FTP(文件传输合同)服务器,或则你可以远程访问另一台笔记本。启用SSH服务可以通过一个安全的隧洞将你的设备联接到另一个设备或服务器,在这儿你的身分和数据传输是完全安全和加密的。假如你是一个网路管理员,你必须晓得怎样在Linux中启用和配置SSH服务。

Linux中的SSH服务

在Linux中,SSH服务工作的方式称作端到端加密,即一个用户拥有一个私钥,另一个用户持有一个公钥。当两个用户都输入正确的加密秘钥时linux ssh命令端口映射,就可以进行数据传输。SSH的功能是通过终端命令行界面实现的。大多数Apache服务器和Nginx服务器都使用SSH服务来获得远程访问,并为顾客提供服务。在这篇文章中,我将展示怎样在几个Linux发行版中启用和使用SSH服务。

1、在UbuntuLinux上安装SSH服务

SSH服务默认安装在所有Linux或类似Unix的操作系统中。您可以通过检测SSH版本来检测SSH服务是否已安装在Linux计算机中。倘若您发觉您的Ubuntu已安装SSH,则可以使用。倘若未能在UbuntuLinux中找到安全壳体服务,则可以通过apt-getinstall命令安装它。

$ssh-V

在安装任何软件包之前,您应当更新和升级Ubuntu储存库。之后使用terminalshell命令安装OpensshServer软件包。下边提供了所有终端命令行。

$sudoaptupdate

$sudoaptupgrade

$sudoaptinstallopenssh-server

2、在RedHatLinux和CentOS上启用SSH

RedHatLinux主要是为工作负载分配,云和Docker借助率以及演化目的而创建的。这是在RedHatLinux上检测,安装,启动和启用SSH服务的终端命令行。像其他Linux发行版一样,RedHat也使用端口22构建SSH服务。您可能还须要容许防火墙访问CentOS和RedHatLinux上的SSH服务。

$dnfinstallopenssh-server

$yuminstallopenssh-server

$systemctlstartsshd

$systemctlstatussshd

$systemctlenablesshd

firewall-cmd--zone=public--permanent--add-service=ssh

3、在ArchLinux上启用SSH

ArchLinux使用软件包管理器(packman)命令来安装任何应用程序。首先,您须要更新ArchLinux的系统储存库。之后,您可以通过packman命令在ArchLinux上安装OpenSSH服务。您可以使用systemctlterminal命令在ArchLinux上启动或停止任何SSH服务,检测SSH状态并禁用SSH服务。

$sudopacman-Sy

$sudopacman-Sopenssh

$sudosystemctlstatussshd

$sudosystemctlstartsshd

$sudosystemctlstatussshd

$sudosystemctlstopsshd

$sudosystemctlenablesshd

$sudosystemctldisablesshd

$sudosystemctlrestartsshd

要在ArchLinux上配置SSH服务脚本,您须要从/etc/ssh/目录中打开配置文件。

$mansshd_config/configfiles

$sudonano/etc/ssh/sshd_config

4、在FedoraLinux上启用SSH

在FedoraLinux上安装SSH服务之前,让我们检测一下SSH服务是否早已安装在机器内部。我们将使用grepterminal命令检测FedoraLinux上SSH服务的可用性。FedoraLinux还使用端口22构建安全的Shell联接。

据悉,我们可以使用systemctl终端壳体上的命令来检测SSH服务的总体状态。除此之外,您还可以使用下边提供的终端命令行在FedoraLinux上启动,停止,启用和禁用安全壳体。

$rpm-qa|grepopenssh-server

$sudodnfinstall-yopenssh-server;

$sudosystemctlstatussshd

$sudoss-lt

$sudosystemctlstartsshd.service;

$sudosystemctlstopsshd.service;

$sudosystemctldisablesshd.service;

5、SSH服务的一些主要命令

到目前为止,我们早已完成了怎样在Linux发行版上启用和配置SSH服务的过程。如今,我们将见到怎样在Linux上运行SSH服务的一些基本命令。在这儿,我将展示在Linux上构建安全服务,获得防火墙访问和隧洞转发的主要规则。一旦了解了SSH服务的基本现象,就可以自行启用和配置其他SSH服务。

任务1:Linux上SSH服务的基本命令

在Linux机器中安装SSH服务后,您如今就可以检测系统状态,启用SSH服务并开始使用安全Shell系统。在这儿深度linux,给出了一些基本的SSH命令。若果不须要,也可以关掉SSH系统。

$sudosystemctlstatusssh

$sudoservicesshstatus

$sudosystemctlenablessh

$sudosystemctlstartssh

$sudosystemctlstopssh

任务2:获取SSH服务的防火墙访问权限

在处理Internet传输合同时,须要获得防火墙访问权限。否则,防火墙可能会制止并中断您的联接。在这儿,我使用UFW防火墙系统在Linux上配置SSH服务。启用UFW防火墙后,您如今可以检测防火墙状态。防火墙系统将监视设备的所有入站和出站网路。

$sudoufwallowssh

$sudoufwenable

$sudoufwstatus

任务3:在Linux上通过SSH服务联接到特定IP

若果将静态IP地址用于安全壳体联接,则可以为特定网路和端口设置规则。对于SSH服务,默认端口为22。您可以按照须要修改端口。我们将运行vvv命令以针对特定IP地址检测并设置SSH合同。就我而言,我正在尝试联接linuxcool网路。这些不晓得怎样在Linux中获得本地网路的人可以听到怎样在Linux上安装Apache服务器的过程。

$vvv-ssh

$ssh-vvvlinuxcool

让我们晓得您的用户名和静态IP地址,如今您可以构建从Linux机器到另一台设备的安全Shell网路。倘若您不晓得用户名,则可以依循以下给出的终端命令。

$whoami

要联接到您的本地主机地址,请在Linux终端壳体上使用这种终端命令行。我早已演示了几种使用特定用户名和IP地址访问SSH服务的方式。

$ssh

$sshusername@ip_address

$sshUbuntuPIT@server-ip

$sssjahid@linuxcool

要找到您的IP地址,您可以使用基本的net-tool命令来获取Internet合同详尽信息。如今,我假定您同时晓得您的IP地址和用户名。这是联接到特定IP地址的技巧。我可能会提及,您也可以通过Linux上的SSH服务联接到公共IP地址。

$ipa

$ifconfig

$sshUbuntuPIT@192.168.0.1

$sshUbuntuPIT@public_ip_address

任务4:在Linux上配置端口转发

我们早已晓得Internet合同可以使用分配的IP地址和端标语。术语“端口转发或隧洞”是通过隐藏和保护您的数字足迹的隧洞绕开数据包的方式。当您碰到一些防火墙保护或抵达目标服务器的任何限制时,将应用端口转发方式。

然而,在开始隧洞传输之前,请确保有足够的开放端口可用于转发端口。端口转发有多种类型,比如本地转发,虚拟转发和动态端口转发。

在这儿,我将通过Linux上的SSH服务描述本地端口转发,动态端口转发和远程端口转发系统。要启用端口转发,我们须要检测SSH服务的配置文件。我们可以在root/etc/ssh目录下找到SSH配置文件。

我们可以直接通过Nano编辑器打开配置脚本。这儿,最好将PermitTunnel的值改为yes,GatewayPorts的值改为yes。之后保存脚本文件。配置好SSH脚本后,必需要重启Linux机器上的SSH服务。

$sudonano/etc/ssh/sshd_config

$nano~/.ssh/config

$vi$HOME/.ssh/config

$sudovim/etc/ssh/sshd_config

GatewayPortsyes

$sudosystemctlrestartsshd

$sudoservicesshdrestart

如今,让您通过SSH隧洞服务将IP地址从本地Linux计算机转发到服务器。您须要做的就是,打开终端壳体并键入ssh,之后键入yourusername@destination_address。

$ssh

对于远程端口转发,您可以在Linux中使用与SSH服务相同的过程。并且,假如要在后台执行此过程,则必须-f在服务器地址之前添加-N句型。您还可以通过Linux中的SSH服务设置动态和本地端口转发。

$ssh-f-N-R5000:linuxcool:3000

$ssh-f-N-D1080

$ssh-L8080::80jahid

$ssh-R5900:linuxcool:5900jahid

要容许端口映射应用程序使用特定软件,可以在Linux计算机中使用SSH服务。在这儿,我将端口15169用于Firefox。之后,您可能还须要配置Firefox网路。

$ssh-Xjahid

$firefox&

$ssh-fTXCjahidfirefox

$ssh-C-D15169jahid

任务5:启用和授权SSH系统

在Linux中,可以使用该systemctl命令来启动,停止,启用,禁用和重新启动SSH服务。启用SSH服务后,您如今可以检测将用于构建安全Shell联接的端口。我们可以从SSH配置脚本文件中检测端标语。SSH配置文件坐落/etc/ssh/目录中。我们可以使用Nano脚本编辑器直接打开配置文件。

安全壳体网路Ubuntu

$sudosystemctlstopssh

$sudosystemctlstartssh

$sudosystemctlenablessh

$sudoservicesshrestart

打开脚本后,您将才能看见AddressFamily,端标语,侦听IP地址和其他日志文件。假如在配置脚本中发觉问题,也可以重置配置文件。

$sudonano/etc/ssh/sshd_config

$/etc/init.d/sshdrestart

$sudonano/etc/ssh/sshd_config

$/etc/init.d/sshdrestart

$vi/etc/ssh/sshd_config

您也可以尝试其他方式在Linux上启用和配置SSH服务。此方式将要求用户创建一个目录来配置和储存数据。您可以为Linux上的每位用户创建特定的SSH服务。我将使用touch命令来配置脚本文件。在这儿,我使用的是主机名linux就该这么学,请注意使用您的主机名。之后重新启动SSH服务。

$/etc/ssh/ssh_config

$~/.ssh/configor$HOME/.ssh/config

$mkdir-p~/.ssh

$chmod0700~/.ssh

$touch~/.ssh/config

$chmod0700~/.ssh/config

~/.ssh/config

$sshUbuntuPIT

$/etc/init.d/sshdrestart

管理安全Shell服务的其他帮助

有时,维持安全的双工网路联接可能有些棘手。作为Linux网路管理员,您必须晓得怎样处理安全Shell操作的意外问题。您须要晓得正在运行的SSH服务忽然断掉联接时该如何办。您还须要晓得怎样在顾客端设备上安装SSH服务。

$sudoapt-getremoveopenssh-clientopenssh-server

$sudoapt-getinstallopenssh-clientopenssh-server

要获得有关Linux上SSH服务的更多帮助,您可以使用终端壳体程序的默认帮助功能。这是一些与SSH服务相关的基本终端命令,在Linux上验证SSH和SSHD时,您可能会发觉它们特别有用和便捷。

$ssh–help

$whichssh

$whichsshd

$whereisssh

$ssh-vlinuxcool

安全壳体服务是远程联接两个设备的最有效,功能最强悍的应用程序。并且,个别基于图形用户界面的远程访问应用程序也可用于Linux。并且,从长远来看linux ssh命令端口映射,SSH服务对于Linux而言是更好,更可靠的方法。在本文中,我描述了在Linux中启用SSH服务的所有可能形式。我还演示了端口转发和端到端加密的基本思想。假如您是系统管理员,则必须晓得全面了解SSH服务的重要性。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复