参考
生成 SSH 密钥对
使用 ssh-keygen 为 SSH 创建新的身份验证密钥对,在本地终端执行:
|
|
其中 -t ed25519 表示使用 ed25519 算法,更加详细的内容可以参考:What is ssh-keygen & How to Use It to Generate a New SSH Key?。
输入上述命令后会提示给这个密钥对设置密码:
|
|
如果不设置的话就按回车键,表示不设置密码。
完成后会根据 -f 参数生成指定文件名的密钥对,如果是 -f nafnix_ssh,那么会在当前目录下生成两个文件:
nafnix_ssh:私钥nafnix_ssh.pub:公钥,要上传到服务器
示例
-f: 在当前用户的家目录的.ssh文件夹下创建一个名为nafnix_ssh的密钥对-C: 给该密钥对添加nafnix的注释
对于 Windows 系统用户,在 PowerShell 执行:
|
|
对于 Linux 系统用户,在终端执行:
|
|
修改权限 【可选】
Linux 下生成的密钥对,可能需要给密钥文件修改权限:
|
|
使用 SCP 命令将公钥上传到服务器
这里假设服务器 IP 地址为 1.2.3.4,服务器 SSH 端口为 23333,并且服务器上已经存在 nafnix 用户,并且本地用户家目录的 .ssh 文件夹存在一个 nafnix_ssh.pub 公钥文件。
对于 Windows 系统用户,在 PowerShell 执行:
|
|
对于 Linux 系统用户,在终端执行:
|
|
参考:What is the Authorized Keys File in SSH?
在服务器上授权公钥
将文件上传到服务器后,使用 nafnix 用户连接服务器,然后在服务器上执行下述命令:
配置服务器的 SSH 服务
编辑服务器上的 /etc/ssh/sshd_config 文件,可能需要管理员权限才能编辑该文件,若安装了 sudo,可以使用 sudo -i 提升权限。然后分别修改下述对应行的内容(也可以直接添加在文件末尾):
其他内容的修改可以参考:sshd_config - How to Configure the OpenSSH Server?
重启服务器的 SSH 服务应用修改
然后重启服务器上的 SSH 服务(执行该命令不会断开当前连接)。
在服务器上执行:
|
|
使用私钥连接到服务器
对于 Windows 系统用户,在 PowerShell 执行:
|
|
对于 Linux 系统用户,在终端执行:
|
|