• 亮色
  • 暗色
  • 跟随系统
找到 [[ searchResult.results.length ]] 条结果 Search by Fuse.js

Linux 服务器设置使用密钥登录

参考

生成 SSH 密钥对

使用 ssh-keygen 为 SSH 创建新的身份验证密钥对,在本地终端执行:

1
ssh-keygen -t ed25519 -f <文件名或文件路径> -C <注释>

其中 -t ed25519 表示使用 ed25519 算法,更加详细的内容可以参考:What is ssh-keygen & How to Use It to Generate a New SSH Key?

输入上述命令后会提示给这个密钥对设置密码:

1
Enter passphrase (empty for no passphrase):

如果不设置的话就按回车键,表示不设置密码。

完成后会根据 -f 参数生成指定文件名的密钥对,如果是 -f nafnix_ssh,那么会在当前目录下生成两个文件:

  1. nafnix_ssh:私钥
  2. nafnix_ssh.pub:公钥,要上传到服务器

示例

  • -f: 在当前用户的家目录的 .ssh 文件夹下创建一个名为 nafnix_ssh 的密钥对
  • -C: 给该密钥对添加 nafnix 的注释

对于 Windows 系统用户,在 PowerShell 执行:

1
ssh-keygen -t ed25519 -f $env:UserProfile\.ssh\nafnix_ssh -C nafnix

对于 Linux 系统用户,在终端执行:

1
ssh-keygen -t ed25519 -f ~/.ssh/nafnix_ssh -C nafnix

修改权限 【可选】

Linux 下生成的密钥对,可能需要给密钥文件修改权限:

1
chmod 500 ~/.ssh/nafnix*

使用 SCP 命令将公钥上传到服务器

这里假设服务器 IP 地址为 1.2.3.4,服务器 SSH 端口为 23333,并且服务器上已经存在 nafnix 用户,并且本地用户家目录的 .ssh 文件夹存在一个 nafnix_ssh.pub 公钥文件。

对于 Windows 系统用户,在 PowerShell 执行:

1
scp -P 23333 $env:USERPROFILE\.ssh\nafnix_ssh.pub nafnix@1.2.3.4:/home/nafnix/nafnix_ssh.pub

对于 Linux 系统用户,在终端执行:

1
scp -P 23333 ~/.ssh/nafnix_ssh.pub nafnix@1.2.3.4:/home/nafnix/nafnix_ssh.pub

参考:What is the Authorized Keys File in SSH?

在服务器上授权公钥

将文件上传到服务器后,使用 nafnix 用户连接服务器,然后在服务器上执行下述命令:

1
2
3
4
5
6
7
8
# 创建 .ssh 文件夹
mkdir -p ~/.ssh
# 创建密钥授权文件
touch ~/.ssh/authorized_keys
# 设置授权文件权限
chmod 600 ~/.ssh/authorized_keys
# 将刚刚上传的公钥添加到授权文件中
cat ~/nafnix_ssh.pub >> ~/.ssh/authorized_keys

配置服务器的 SSH 服务

编辑服务器上的 /etc/ssh/sshd_config 文件,可能需要管理员权限才能编辑该文件,若安装了 sudo,可以使用 sudo -i 提升权限。然后分别修改下述对应行的内容(也可以直接添加在文件末尾):

1
2
3
4
5
# PubkeyAuthentication no
PubkeyAuthentication yes

# PasswordAuthentication yes
PasswordAuthentication no

其他内容的修改可以参考:sshd_config - How to Configure the OpenSSH Server?

重启服务器的 SSH 服务应用修改

然后重启服务器上的 SSH 服务(执行该命令不会断开当前连接)。

在服务器上执行:

1
sudo systemctl restart sshd

使用私钥连接到服务器

对于 Windows 系统用户,在 PowerShell 执行:

1
ssh -p 23333 nafnix@1.2.3.4 -i $env:USERPROFILE\.ssh\nafnix_ssh

对于 Linux 系统用户,在终端执行:

1
ssh -p 23333 nafnix@1.2.3.4 -i ~/.ssh/nafnix_ssh
作者
发布日期
版权协议
WTFPL