Chat with us, powered by LiveChat
在知识库中搜索
如何在Linux服务器设置SSH密钥?

目的

SSH密钥为SSH提供额外的安全性,因为在使用SSH密钥时不需要使用密码。SSH密钥对由公钥和私钥组成,公钥和私钥都是一长串字符。公钥保存在要进行SSH连接的服务器中,私钥保存在请求SSH连接的系统中。

可以按照以下步骤在所有Linux OS操作系统上建立基于SSH key的认证。

1. 创建SSH密钥对

在请求SSH连接的服务器上,使用下面的命令生成一个密钥对。

# ssh-keygen -t rsa

该命令的示例输出如下:

您可以在生成密钥对时给出一个口令(密码)。密码短语为SSH密钥对增加了额外的安全性。

一旦执行了命令,公钥将相应地存储为id_rsa.pub和私钥在生成密钥对时指定的路径中作为id_rsa。

可以使用以下命令查看生成的公钥:

# cat ~/.ssh/id_rsa.pub

公钥的一般格式如下:

2. 为远程服务器设置自定义启动脚本

或者,在客户中心控制面板中,可以通过以下按钮下载SSH公钥私钥。

3. 将公钥复制到远程服务器

id_rsa.pub密钥需要复制到要建立SSH连接的服务器。 为此,您有两种选择。

·使用ssh-copy-id命令,其中user 是连接IP地址为123.123.123.123的服务器的用户名。

# ssh-copy-id user@123.123.123.123

注意:ssh-copy-id实用程序将连接到服务器123.123.123.123上的帐户,然后将复制 ~/.ssh/id_rsa.pub的内容。将密钥发布到远程帐户的 ~/.ssh directory中的authorized_keys目录。

·将公钥复制到服务器123.123.123.123中的 .ssh文件夹内的authorized_keys文件。

# cat ~/.ssh/id_rsa.pub | ssh user@123.123.123.123 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys

4. 测试SSH连接

将公钥添加到服务器之后,可以使用下面的命令从拥有私钥的计算机测试到服务器的SSH连接。

# ssh user@123.123.123.123

您将看到这样的消息:

这仅仅意味着您的本地计算机不能识别远程主机。这将在您第一次连接到一个新主机时出现。输入yes并按ENTER 继续。

您不会看到任何密码提示。但是,如果在生成SSH密钥对时设置了密码,可能会提示您输入密码短语。

5. 关闭SSH root直接登录功能(自选)

一旦您确认可以使用SSH密钥对访问服务器,您就可以继续通过SSH禁用对服务器的直接root登录。为此,可以遵循以下步骤。

1.打开SSH配置文件

# /etc/ssh/sshd_config

2.将 PermitRootLogin 更改为“no”

3.重启SSH

# service sshd restart
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
Telegram Skype