连接 Linux 服务器的主要方式是通过 SSH协议。这种连接是安全的,因为通过它传输的所有数据都是加密的。为了 至 建立 SSH 连接 您应该在要连接的远程服务器和用户端的客户端上进行配置。有大量用于 SSH 连接的软件。对于 Linux,OpenSSH 软件包最受欢迎,而对于 Windows,人们大多使用 PuTTY。
让我们以 Ubuntu Server 18.04 为例仔细了解服务器配置,然后尝试从 Linux 和 Windows 连接到服务器。
我们所做的一切都将来自普通用户的帐户。在本例中,我们创建了一个用户“迈克尔“和”根”帐户默认处于禁用状态。
服务器端设置
运行此命令设置包:
sudo apt install openssh-server
安装完成后,请确保服务正在运行。使用此命令:
systemctl status sshd
地位 ”活跃(奔跑)”表示服务已启用,且运行正常。
为了避免防火墙阻止传入连接,请确保禁用它,因为我们不会在本文中配置网络防火墙。
使用这个命令:
sudo ufw disable
此时您已经可以连接到服务器。使用默认设置,服务器允许使用基于密码的身份验证连接到标准端口 22。
Linux 上的 SSH 连接
通常,OpenSSH 客户端默认安装在 Linux 上,不需要额外的手动配置。可以使用 ssh 命令从终端建立连接。在这种情况下,参数将是远程服务器的用户名和 IP 地址。在我们用作示例的测试服务器上,只有一个帐户“mihail”,因此我们将使用它。
ssh [email protected]
在第一次连接时,你必须确认将服务器的公钥添加到数据库中,因此响应“含”。之后您可以输入密码。如果连接成功,您将看到服务器命令行的欢迎文本。现在所有命令都将在远程服务器上执行。
通过 Windows 进行 SSH
打开 Putty 并设置连接参数。确保开关“连接类型” 转向 SSH的. 在“Host Name(主机名)”字段,默认值 22 进入 ”港口“然后点击”可选“。
第一次连接时 油灰 将要求您确认您信任该服务器,因此单击“是=
输入登录名和密码后,您将看到远程服务器的命令行。
通过密钥进行身份验证。提高安全级别
当客户端尝试通过 SSH 与服务器建立安全连接时,服务器在允许连接之前需要对客户端进行身份验证(验证)。如前所述,通常默认使用基于密码的身份验证。它不能提供强大的安全性,因为总有办法对其进行暴力破解。此外,密码身份验证不适用于使用脚本的 SSH 连接。
对于此类任务,有一种特殊的密钥身份验证方法。关键是客户端生成私钥和公钥,然后将公钥发送到服务器。之后,您不需要密码即可连接到服务器,因为身份验证是基于公钥和私钥进行的。为了提供良好的安全性,应该限制对私钥的访问。由于私钥存储在客户端,不通过网络传输,因此这种方法被认为更安全。
Linux 上的密钥身份验证
让我们在 ssh-keygen 实用程序软件的帮助下在客户端生成公钥和私钥。该工具将建议更改私钥的路径并输入密码以增强安全性。在所有请求中按 Enter 保留所有参数的默认值。
结果,在主目录中的 .ssh 文件夹下你会发现生成了两个文件: id_rsa 以及 id_rsa.pub 其中包含相应的私钥和公钥。
之后,您需要将公钥发送到服务器。为此,请复制“id_rsa.pub”文件放入“〜/.ssh/authorized_keys”文件。让我们借助“ssh 复制 ID”工具。输入服务器的登录名和 IP 地址,就像普通连接一样。输入密码后,客户端的公钥将自动复制到服务器。运行此命令:
ssh-copy-id [email protected]
完成所有操作后,服务器将不再需要输入密码。
在 Windows 上通过密钥进行身份验证
可选 腻子生成器 并点击“产生”。为了生成密钥,您只需将鼠标移到屏幕上,该工具就会随机生成密钥。
生成密钥后,点击“保存私钥”并将其保存到磁盘上的私钥文件中。您可以设置任何您喜欢的路径,但稍后您将需要在 Putty 中指定它。然后从窗口顶部复制公钥。
让我们通过简单地将其复制到终端来发送公钥。打开 油灰 并像往常一样连接到服务器。现在让我们创建“.ssh/authorized_keys”并限制其他用户访问该文件,因此只有创建者可以使用。
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
创建文件后,将客户端的公钥放入其中。在上一阶段,我们将公钥复制到剪贴板。要将剪贴板中的内容记录到文件中,请使用 cat 命令和输出重定向。
cat > .ssh/authorized_keys
输入命令后,在终端窗口中单击鼠标右键并粘贴剪贴板中的内容。要确认输入,请按“按Ctrl + D”快捷方式并断开与服务器的连接。
现在让我们在Putty中指定私钥的路径并再次连接到服务器。
从现在开始,为了连接到服务器,您只需输入用户名。如果您尝试从没有正确私钥的另一台设备连接到服务器,服务器将要求输入密码。设置基于密钥的身份验证后,您可以禁止通过密码访问。