如何使用SSH远程管理Linux服务器

服务器管理仍然是一项必要且有时很繁琐的任务。对于远程服务器或无头服务器,这尤其困难。幸运的是,这里有安全外壳(SSH)。 Secure Shell是一种网络协议,它允许网络服务在不安全的网络上运行。

SSH具有大量功能。这是远程服务器管理的首选。了解如何通过SSH远程管理Linux服务器,从连接到安装软件和文件传输。

什么是SSH?

SSH代表Secure Shell。这是一种加密网络协议。使用SSH,您可以访问终端并执行各种命令行功能。还可以通过图形访问来管理Linux服务器。这对于文件传输非常有用,尤其是当您不想或不记得确切的文件路径时。

使用SSH管理远程Linux服务器时,您需要一些条件。首先,您需要准备服务器以接受SSH连接。在您要连接的设备上,您需要某种SSH软件。要使用SSH登录服务器,您需要知道服务器的IP地址。但是,仅当您与服务器位于同一局域网中时,才可以使用具有IP地址的SSH登录。如果您不在网络中,则可以设置端口转发以从任何地方使用SSH访问服务器。您可以在此初学者指南中了解有关SSH的更多信息,以在Linux上设置SSH。

准备服务器接受SSH

在开始通过SSH管理Linux服务器之前,您将必须准备服务器以允许SSH连接。我有一台无头的专用Plex媒体服务器。缺少监视器和外围设备,我使用SSH来管理服务器。在安装或更新软件以及传输文件时,我只需通过SSH进入服务器即可。我的确切设置是运行Ubuntu 16.04 LTS的ThinkServer TS140。视您的硬件和Linux发行版本而定,为SSH进行准备的操作可能会有所不同。

要为Linux服务器做好准备以接受传入的连接,您需要为SSH协议安装一个远程登录工具。最常见的一种是OpenSSH。在基于Debian的发行版中,可通过主要存储库使用OpenSSH。打开一个新终端( Ctrl + Alt + T )并输入以下命令:

sudo apt-get update

这将执行更新并确保您拥有最新的存储库。在继续安装OpenSSH之前,还请检查是否有任何升级。在终端中,运行:

sudo apt-get upgrade
sudo apt-get install openssh-server

配置服务器SSH设置

在服务器端安装Open SSH之后,您可以编辑基本配置信息。拉起一个新的终端,然后输入以下字符串以打开SSH配置文件:

sudo nano /etc/ssh/sshd_config
MaxAuthTries 4

在安装OpenSSH之后,SSH服务器应已运行。但是要进行检查,只需打开终端并运行:

sudo service ssh status
sudo service ssh start

并停止SSH的运行,请运行:

sudo service ssh stop

通过SSH远程访问Linux服务器

现在已经安装并正在运行SSH,您可以远程连接。如果您要远程登录Linux服务器,则需要该服务器的IP地址。这应该是192.168.0.x。有了Linux服务器IP地址,您还需要一种通过SSH从另一台计算机登录的方法。有多种使用SSH远程登录的方法。

如果您使用的是基于Unix的系统,例如Linux,macOS或FreeBSD,则可以在命令行中使用SSH。在终端中,运行:

ssh [remote host]

…其中[远程主机]是您正在访问的IP地址。如果您的用户名在远程系统上有所不同,则可以输入以下内容来指定确切的用户名:

ssh [remote username]@[remote host]

输入后,系统会询问您是否要继续连接。然后,系统会提示您输入用户名,然后要求您输入密码。

或者,如果您想完全跳过命令行,则可以通过网络登录Linux服务器。在Linux机器上,导航至连接到服务器,然后输入您的 ssh:// [IP地址] 。将要求您提供用户名和密码。

此方法的主要优点是您将具有完整的图形文件夹导航。这称为SSH文件传输协议或SFTP。这使文件传输更加容易。由于我的Linux服务器是专用的Plex服务器,除非执行更新,否则我通常使用SFTP。

SSH与PuTTY

如果您使用的是PC或Mac,则需要一个SSH客户端。 PuTTY可能是最著名的SSH客户端。在PC,macOS或Linux机器上安装PuTTY。在打开PuTTY的情况下,在会话下查看,然后在标有主机名的框中,输入您的IP地址。确保指定正确的端口。如果使用默认值,则将其保留为22。

现在,您应该看到带有登录提示的终端。在此处输入Linux服务器用户名。

输入用户名后,如果您的Linux服务器密码受保护,则会提示您输入密码。输入该内容,您应该会看到一条欢迎消息,其中包含有关您的系统和命令行的信息,就像在Linux服务器上看到的一样。

备用SSH客户端

尽管PuTTY仍然是最多的流行的SSH客户端,有很多替代方案。我的首选是Bitvise(仅Windows)。原因?它不仅包括用于通过SSH远程管理Linux服务器的命令行界面,还包括SFTP功能。因此,它是文件传输和常规管理的理想选择。当我只需要更新或重新启动时,我可以使用Bitvise SSH客户端进行命令行访问。但是对于文件传输,我使用图形界面。

像PuTTY一样,或者在Linux上通过命令行启动SSH,您需要输入IP地址,用户名和密码。

您将收到提示,询问您是否要接受会话。您可以只接受该会话,也可以保存以备将来使用。之后,将要求您输入要远程管理的Linux服务器的密码。

插入该插件,Bitvise将同时打开命令行和图形SSH窗口。

SFTP窗口使管理文件传输变得非常简单,此外还有传统的SSH命令行提供了许多功能。

如何使用SSH管理远程Linux服务器

Okay, great! SSH is configured both on the server and the device you’ll use to manage your server. So, what can you actually do? Anything that’s possible with the Linux command line. Some common tasks you may preform are software installs, updates, reboots, copy files, and even run GUI applications. For example, you can copy files with the following commands:

scp [remote host]:[local file] [destination directory]
scp [local file] [remote host]:[destination directory]

安装软件仅意味着插入正确的命令。例如,当我通过SSH在无头TS140上安装Plex时,我只输入:

sudo apt-get install plexmedia server -y

类似地,要创建WordPress服务器,您只需遵循安装详细信息,但要通过SSH命令行。

您可能执行的操作取决于服务器及其用途。当我运行无头专用Plex服务器时,我使用SSH和SFTP进行的大多数操作都是通过偶尔的软件更新进行文件传输。我还使用SSH访问日志文件并运行基准测试CPU性能。如果您正在运行Web服务器,则可能希望使用SSH命令行来备份网站。

SSH:查找远程服务器

如果您正在运行Linux服务器, SSH是一种远程管理它的绝妙方法。您将保留完整的命令行控制,甚至可以运行GUI应用程序并执行文件传输。通过SSH管理远程Linux服务器时,您几乎可以实现无限的可能性。您可以使用SSH设置文件服务器,媒体服务器,Linux游戏服务器服务器。而且,许多SSH客户端程序都是跨平台的。

标签: