返回博客

如何在 Ubuntu 中使用 SSH 连接到远程服务器

如何在 Ubuntu 中使用 SSH 连接到远程服务器

什么是 SSH?

SSH 代表安全外壳协议(Secure Shell)。通过 SSH,您可以以安全的方式访问远程计算机,因为连接是加密的。通过 Linux 终端中的 ssh 命令,我们可以连接到远程 Linux 服务器并像在自己的计算机上一样工作。在本教程结束时,您应该完全了解如何使用 SSH 连接到远程服务器,在 Ubuntu.

语法

语法是您如何使用 ssh 命令的规则。您可以重新排列语法,但必须遵循直接的格式。以下是使用 ssh 命令的语法示例:

您要连接的域名或 IP 地址就是如上命令中所示的 remote_host。此语法假设您在远程系统和本地系统上的用户名相同。但是,如果用户名不同,您可以使用此命令来表示:

在连接到服务器时,您需要立即通过提供密码来验证您的身份。输入命令 exit 以返回到您的本地会话。

如何配置 SSH

Ubuntu 中的主要 sshd 配置文件位于 /etc/ssh/sshd_config。如果您更改了 SSH 配置,SSHD 服务器设置将自动更改。在进行任何配置之前,请确保使用此命令备份该文件的当前版本:

使用文本编辑器打开它:

您应该保留此文件中的大多数参数不变。但是,有几件事您应该注意:

端口声明指示 SSHD 服务器等待连接的端口。默认值为 22。除非有特定原因,否则您无需更改此设置:

主机密钥声明指示全局主机密钥的位置:

应记录的日志级别由这两个项目指示。如果您在使用 SSH 时遇到问题,确定问题的一个极好方法是增加日志数量:

这些选项定义了登录的一些信息,以在配置文件不安全时防止未经授权的登录:

这些参数配置被称为 X11 转发功能。通过这种方式,您可以在本地系统上显示远程系统的 GUI。在连接到 SSH 客户端时,您必须在服务器上启用此选项,并使用 -X 选项。

进行更改后,保存文件并通过按 CTRL-X 和 Y 然后按 Enter 关闭它。如果您更改了 / etc / ssh / sshd_config 中的设置,则必须重启 sshd 服务器以执行更改:

对于 systemd 系统(例如 Ubuntu 16.04 或 Debian Jessie),请使用此命令:

彻底测试您的更改,以确保一切正常运行。如果您进行了任何更改,您可能应该保持一些会话处于活动状态。通过这种方式,您可以在必要时恢复配置。

如何使用密钥登录 SSH?使用密码登录远程系统是可行的。但是,最好设置基于密钥的身份验证。

什么是基于密钥的身份验证?

基于密钥的身份验证会创建两对称为私钥和公钥的密钥。私钥保存在用户的计算机上,并得到了保护和保密。公钥可以提供给任何人,或存储在您想要访问的任何服务器上。如果您尝试使用密钥对进行连接,服务器会使用公钥为用户计算机生成一条消息。用户只能使用私钥读取该消息。然后,用户计算机向服务器发送响应,服务器便知道该用户是真实的。设置密钥后,整个过程会在后台自动完成。

如何创建 SSH 密钥

SSH 密钥应该在您希望登录的计算机上生成。这通常是您的本地计算机。在命令行中输入以下内容:

然后,按回车键(ENTER KEY)接受默认设置。它将在 ~/.ssh/id_rsa.pub 和 ~/.ssh/id_rsa 生成您的密钥。接下来,输入以下命令切换到 .ssh 目录:

这些是文件权限:

list files in .ssh folder

如您所见,只有所有者才能读取和写入 id_rsa 文件。因此,您必须妥善保管它。但是,您可以共享 id_rsa.pub 文件,并为此操作设置适当的权限。下一步是使用以下语法将公钥传输到服务器:

这将启动一个 SSH 会话,您必须使用密码进行身份验证。输入密码后,您的公钥将被复制到服务器’的授权密钥文件中,以便您下次登录时无需密码。

如何禁用密码身份验证

如果生成了 SSH 密钥,您可以通过禁用仅密码身份验证来提高服务器的安全性。您可以使用安装在服务器上的公钥通过私钥登录服务器,而无需使用控制台。

注意:在继续此步骤之前,请确保您已在服务器上安装了公钥。否则您将被阻拦!

使用以下命令打开 sshd 配置文件:

通过删除开头的 #,找到并取消注释读取 password Authentication check 的那一行。然后您可以将值更改为 “no”:

PubkeyAuthentication 和 ChallengeResponseAuthentication 是默认设置的,应该如下所示:

您不应更改这两个设置。之后,在做出更改后保存并关闭文件。接下来,使用以下命令重启 SSH 守护进程:

最后,您已禁用了密码身份验证,现在只能使用 SSH 密钥身份验证访问您的服务器。

结论

在本教程中,我们向您展示了如何在 Ubuntu 中使用 SSH 安全地连接到远程服务器。如果您是一名系统管理员,学习如何使用 SSH 是至关重要的,因此在掌握本教程后,您可以继续学习 SSH 的更多高级功能。

祝您使用愉快!

 

author

Akshay Nagpal

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。