侧边栏壁纸
博主头像
伯淳的个人博客博主等级

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 5 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

使用本地密钥登录服务器

Administrator
2023-12-04 / 0 评论 / 0 点赞 / 20 阅读 / 2369 字

1.生成SSH密钥对:

在window生成它们。win+R打开cmd,并使用以下命令生成SSH密钥对:

ssh-keygen -t rsa -b 2048

这将生成一个2048位的RSA密钥对,默认情况下,公钥将存储在 ~/.ssh/id_rsa.pub,私钥将存储在 ~/.ssh/id_rsa。window下的~一般为C:\Users\用户\。

2.将公钥复制到目标服务器:

将公钥复制到目标服务器上,以便将其添加到SSH授权列表中。使用以下命令将公钥复制到目标服务器,其中 username 是目标服务器上的用户名,server_address 是目标服务器的IP地址或主机名:

ssh-copy-id username@server_address

输入目标服务器的密码以进行身份验证,这自动将公钥复制到目标服务器的 ~/.ssh/authorized_keys 文件中。

如果 ssh-copy-id 命令不可用,可以手动将公钥内容添加到目标服务器的 ~/.ssh/authorized_keys 文件中。

cat ~/.ssh/id_rsa.pub | ssh username@server_address 'cat >> ~/.ssh/authorized_keys'

或者直接复制公钥的内容到目标服务器的 ~/.ssh/authorized_keys 文件中。

3.配置Xshell连接:

打开Xshell,并创建一个新的SSH会话配置。在会话配置中,进行以下设置:

主机地址:输入目标服务器的IP地址或主机名。

端口:默认SSH端口是22。

用户名:输入您在目标服务器上的用户名。

身份验证方法:选择"Public Key"或"SSH Key"。

私钥文件:点击"Browse"按钮,然后选择本地计算机上的私钥文件(通常是C:\Users\41314\.ssh\id_rsa)。

4.保存会话配置:

在会话配置中完成设置后,点击"OK"或"Save"来保存会话配置。

5.连接到服务器:

双击会话配置或点击"Connect"来连接到服务器。如果一切设置正确,Xshell将使用SSH密钥进行身份验证,并登录到目标服务器,无需输入密码。

6.仅能密钥登录(可选)

编辑服务器的 SSH 配置文件 (/etc/ssh/sshd_config) 来禁用密码认证。

sudo vim /etc/ssh/sshd_config

在配置文件中,找到以下行并进行更改:

将 PasswordAuthentication 更改为 no。

确保 PubkeyAuthentication 是 yes(这通常是默认值)。

确保 ChallengeResponseAuthentication 是 no。

确保 PermitRootLogin 是 without-password(较新的系统可能是prohibit-password) 以禁止 root 用户使用密码登录。

文件的相关部分:

```

PasswordAuthentication no

PubkeyAuthentication yes

ChallengeResponseAuthentication no

PermitRootLogin without-password

```

重启 SSH 服务:更改配置文件后,需要重启 SSH 服务以使更改生效。

sudo systemctl restart sshd

测试密钥登录:在禁用密码登录之前,务必先测试 SSH 密钥登录是否正常工作。从客户端机器尝试使用 SSH 密钥登录到服务器。

ssh username@server_ip

请确保在禁用密码登录之前测试密钥登录,以避免意外失联。。。

0

评论区