在Linux中安全壳(SSH)是一种可以通过互联网上的安全和双向加密通信系统访问另一台电脑的方式。通过在Linux中启用SSH服务,你可以使用SSH协议作为FTP(文件传输协议)服务器,或者你可以远程访问另一台电脑。启用SSH服务可以通过一个安全的隧道将你的设备连接到另一个设备或服务器,在这里你的身份和数据传输是完全安全和加密的。如果你是一个网络管理员,你必须知道如何在Linux中启用和配置SSH服务。
Linux中的SSH服务
在Linux中,SSH服务工作的方法叫做端到端加密,即一个用户拥有一个公钥,另一个用户持有一个私钥。当两个用户都输入正确的加密密钥时,就可以进行数据传输。SSH的功能是通过终端命令行界面实现的。大多数Apache服务器和Nginx服务器都使用SSH服务来获得远程访问,并为客户提供服务。在这篇文章中,我将展示如何在几个Linux发行版中启用和使用SSH服务。
1、在Ubuntu Linux上安装SSH服务
SSH服务默认安装在所有Linux或类似Unix的操作系统中。您可以通过检查SSH版本来检查SSH服务是否已安装在Linux计算机中。如果您发现您的Ubuntu已安装SSH,则可以使用。如果无法在Ubuntu Linux中找到安全外壳服务,则可以通过apt-get install命令安装它。
$ ssh -V
在安装任何软件包之前,您应该更新和升级Ubuntu存储库。然后使用terminal shell命令安装Openssh Server软件包。下面提供了所有终端命令行。
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install openssh-server
2、在Red Hat Linux和CentOS上启用SSH
Red Hat Linux主要是为工作负载分配,云和Docker利用率以及演进目的而创建的。这是在Red Hat Linux上检查,安装,启动和启用SSH服务的终端命令行。像其他Linux发行版一样,Red Hat也使用端口22建立SSH服务。您可能还需要允许防火墙访问CentOS和Red Hat Linux上的SSH服务。
$ dnf install openssh-server
$ yum install openssh-server
$ systemctl start sshd
$ systemctl status sshd
$ systemctl enable sshd
firewall-cmd --zone=public --permanent --add-service=ssh
3、在Arch Linux上启用SSH
Arch Linux使用软件包管理器(packman)命令来安装任何应用程序。首先,您需要更新Arch Linux的系统存储库。然后,您可以通过packman命令在Arch Linux上安装OpenSSH服务。您可以使用systemctlterminal命令在Arch Linux上启动或停止任何SSH服务,检查SSH状态并禁用SSH服务。
$ sudo pacman -Sy
$ sudo pacman -S openssh
$ sudo systemctl status sshd
$ sudo systemctl start sshd
$ sudo systemctl status sshd
$ sudo systemctl stop sshd
$ sudo systemctl enable sshd
$ sudo systemctl disable sshd
$ sudo systemctl restart sshd
要在Arch Linux上配置SSH服务脚本,您需要从/etc/ssh/目录中打开配置文件。
$ man sshd_config / config files
$ sudo nano /etc/ssh/sshd_config
4、在Fedora Linux上启用SSH
在Fedora Linux上安装SSH服务之前,让我们检查一下SSH服务是否已经安装在机器内部。我们将使用grep terminal命令检查Fedora Linux上SSH服务的可用性。Fedora Linux还使用端口22建立安全的Shell连接。
此外,我们可以使用systemctl终端外壳上的命令来检查SSH服务的总体状态。除此之外,您还可以使用下面提供的终端命令行在Fedora Linux上启动,停止,启用和禁用安全外壳。
$ rpm -qa | grep openssh-server
$ sudo dnf install -y openssh-server;
$ sudo systemctl status sshd
$ sudo ss -lt
$ sudo systemctl start sshd.service;
$ sudo systemctl stop sshd.service;
$ sudo systemctl disable sshd.service;
5、SSH服务的一些主要命令
到目前为止,我们已经完成了如何在Linux发行版上启用和配置SSH服务的过程。现在,我们将看到如何在Linux上运行SSH服务的一些基本命令。在这里,我将展示在Linux上建立安全服务,获得防火墙访问和隧道转发的主要规则。一旦了解了SSH服务的基本现象,就可以自行启用和配置其他SSH服务。
任务1:Linux上SSH服务的基本命令
在Linux机器中安装SSH服务后,您现在就可以检查系统状态,启用SSH服务并开始使用安全Shell系统。在这里,给出了一些基本的SSH命令。如果不需要,也可以关闭SSH系统。
$ sudo systemctl status ssh
$ sudo service ssh status
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
$ sudo systemctl stop ssh
任务2:获取SSH服务的防火墙访问权限
在处理Internet传输协议时,需要获得防火墙访问权限。否则,防火墙可能会阻止并中断您的连接。在这里,我使用UFW防火墙系统在Linux上配置SSH服务。启用UFW防火墙后,您现在可以检查防火墙状态。防火墙系统将监视设备的所有入站和出站网络。
$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw status
任务3:在Linux上通过SSH服务连接到特定IP
如果将静态IP地址用于安全外壳连接,则可以为特定网络和端口设置规则。对于SSH服务,默认端口为22。您可以根据需要更改端口。我们将运行vvv命令以针对特定IP地址检查并设置SSH协议。就我而言,我正在尝试连接localhost网络。那些不知道如何在Linux中获得本地网络的人可以看到如何在Linux上安装Apache服务器的过程。
$ vvv-ssh
$ ssh -vvv localhost
让我们知道您的用户名和静态IP地址,现在您可以建立从Linux机器到另一台设备的安全Shell网络。如果您不知道用户名,则可以遵循以下给出的终端命令。
$ whoami
要连接到您的本地主机地址,请在Linux终端外壳上使用这些终端命令行。我已经演示了几种使用特定用户名和IP地址访问SSH服务的方法。
$ ssh
$ ssh username@ip_address
$ ssh UbuntuPIT@server-ip
$ sss jahid@localhost
要找到您的IP地址,您可以使用基本的net-tool命令来获取Internet协议详细信息。现在,我假设您同时知道您的IP地址和用户名。这是连接到特定IP地址的方法。我可能会提到,您也可以通过Linux上的SSH服务连接到公共IP地址。
$ ip a
$ ifconfig
$ ssh UbuntuPIT@192.168.0.1
$ ssh UbuntuPIT@public_ip_address
任务4:在Linux上配置端口转发
我们已经知道Internet协议可以使用分配的IP地址和端口号。术语“端口转发或隧道”是通过隐藏和保护您的数字足迹的隧道绕过数据包的方法。当您遇到一些防火墙保护或到达目标服务器的任何限制时,将应用端口转发方法。
但是,在开始隧道传输之前,请确保有足够的开放端口可用于转发端口。端口转发有多种类型,例如本地转发,虚拟转发和动态端口转发。
在这里,我将通过Linux上的SSH服务描述本地端口转发,动态端口转发和远程端口转发系统。要启用端口转发,我们需要检查SSH服务的配置文件。我们可以在root/etc/ssh目录下找到SSH配置文件。
我们可以直接通过Nano编辑器打开配置脚本。这里,最好将PermitTunnel的值改为yes,GatewayPorts的值改为yes。然后保存脚本文件。配置好SSH脚本后,必须要重启Linux机器上的SSH服务。
$ sudo nano /etc/ssh/sshd_config
$ nano ~/.ssh/config
$ vi $HOME/.ssh/config
$ sudo vim /etc/ssh/sshd_config
GatewayPorts yes
$ sudo systemctl restart sshd
$ sudo service sshd restart
现在,让您通过SSH隧道服务将IP地址从本地Linux计算机转发到服务器。您需要做的就是,打开终端外壳并键入ssh,然后键入your username@destination_address。
$ ssh admin@destination_address.com
对于远程端口转发,您可以在Linux中使用与SSH服务相同的过程。但是,如果要在后台执行此过程,则必须-f在服务器地址之前添加-N语法。您还可以通过Linux中的SSH服务设置动态和本地端口转发。
$ ssh -f -N UbuntuPIT@server1.example.com -R 5000:localhost:3000
$ ssh -f -N -D 1080 admin@server1.example.com
$ ssh -L 8080:www.ubuntupit.com:80 jahid
$ ssh -R 5900:localhost:5900 jahid
要允许端口映射应用程序使用特定软件,可以在Linux计算机中使用SSH服务。在这里,我将端口15169用于Firefox。然后,您可能还需要配置Firefox网络。
$ ssh -X jahid
$ firefox &
$ ssh -fTXC jahid firefox
$ ssh -C -D 15169 jahid
任务5:启用和授权SSH系统
在Linux中,可以使用该systemctl命令来启动,停止,启用,禁用和重新启动SSH服务。启用SSH服务后,您现在可以检查将用于建立安全Shell连接的端口。我们可以从SSH配置脚本文件中检查端口号。SSH配置文件位于/etc/ssh/目录中。我们可以使用Nano脚本编辑器直接打开配置文件。
安全外壳网络Ubuntu
$ sudo systemctl stop ssh
$ sudo systemctl start ssh
$ sudo systemctl enable ssh
$ sudo service ssh restart
打开脚本后,您将能够看到AddressFamily,端口号,侦听IP地址和其他日志文件。如果在配置脚本中发现问题,也可以重置配置文件。
$ sudo nano /etc/ssh/sshd_config
$ /etc/init.d/sshd restart
$ sudo nano /etc/ssh/sshd_config
$ /etc/init.d/sshd restart
$ vi /etc/ssh/sshd_config
您也可以尝试其他方法在Linux上启用和配置SSH服务。此方法将要求用户创建一个目录来配置和存储数据。您可以为Linux上的每个用户创建特定的SSH服务。我将使用touch命令来配置脚本文件。在这里,我使用的是主机名,请注意使用您的主机名。然后重新启动SSH服务。
$ /etc/ssh/ssh_config
$ ~/.ssh/config or $HOME/.ssh/config
$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/config
$ chmod 0700 ~/.ssh/config
~/.ssh/config
$ ssh UbuntuPIT
$ /etc/init.d/sshd restart
管理安全Shell服务的其他帮助
有时,维持安全的双工网络连接可能有些棘手。作为Linux网络管理员,您必须知道如何处理安全Shell操作的意外问题。您需要知道正在运行的SSH服务突然断开连接时该怎么办。您还需要知道如何在客户端设备上安装SSH服务。
$ sudo apt-get remove openssh-client openssh-server
$ sudo apt-get install openssh-client openssh-server
要获得有关Linux上SSH服务的更多帮助,您可以使用终端外壳程序的默认帮助功能。这是一些与SSH服务相关的基本终端命令,在Linux上验证SSH和SSHD时,您可能会发现它们非常有用和方便。
$ ssh –help
$ which ssh
$ which sshd
$ whereis ssh
$ ssh -v localhost
安全外壳服务是远程连接两个设备的最有效,功能最强大的应用程序。但是,某些基于图形用户界面的远程访问应用程序也可用于Linux。但是,从长远来看,SSH服务对于Linux而言是更好,更可靠的方式。在本文中,我描述了在Linux中启用SSH服务的所有可能方式。我还演示了端口转发和端到端加密的基本思想。如果您是系统管理员,则必须知道全面了解SSH服务的重要性。
原文网址:https://www.a5idc.net/helpview_1081.html