前言

最近开始涉猎 Linux 建站,闲暇之余将有意思的内容写成文章。可能是因为贫穷,上机条件比较艰苦,只有一个 1C/128MB/1G 的小鸡,所以我把在小鸡上学习的经历叫做「核舟记」。阅读本文前,建议您提前检索以下关键字:

  • 什么是 SSH,如果安装 SSH,SSH 端口是多少
  • 什么是密钥对,rsa、ecdsa、ed25519 区别是什么,SSH 密钥保存在本地还是服务器

使用 ssh-keygen 命令生成密钥对

ssh-keygen -t rsa | ecdsa | ed25519 | rsa

通过选项 -t 指定密钥对类型,默认是 rsa,然后根据提示完成生成操作,你应该知道或者指定生成路径。

注意将密钥放在用户文件夹下的 .ssh 目录,以便 ssh 程序找到。

将公钥放置在服务器上

默认情况下,公钥以后缀名 .pub 结尾。在生成路径下找到公钥,将里面的文本追加到服务器上的 ~/.ssh/authorized_keys 文件中。

如果没有此文件,请在服务器上新建。
如果不知道如何实现复制粘贴,建议检索关键词「linux vi 如何使用」。

服务器配置 SSH

修改服务器上的 SSH 配置文件 /etc/ssh/sshd_config。简单说明可能要改的参数:

参数说明
Port指定 SSH 端口,默认是 22
PermitRootLogin指定是否允许 root 用户登录
PasswordAuthentication指定是否允许密码登录

如果待指定参数前面有 #,请删除这个符号,参数前有 # 指这行不生效。
如果使用 NAT VPS,由于 IP 端口号到SSH 端口号是映射而来,建议保持默认。
如果关闭密码登录,需要重启 sshd 服务以生效,建议检索关键词「如何重启 sshd 服务」。
如果想了解其他参数,建议检索关键词「ssh 配置文件 sshd_config」。

本地配置和使用 SSH

把对应私钥放在用户文件夹下的 .ssh 目录,默认情况下,ssh 程序会寻找 id_{密钥类型} 文件。配置好后使用如下命令连接服务器:

ssh {用户名}@{IP 地址} -p {端口,默认22}

如果提示找不到 ssh 命令,可尝试如下方法:

  • 安装 git,然后打开 Git Bash 使用
  • 安装 putty,检索关键词「putty使用方法」

为服务器设置别名

在本地用户文件夹下的 .ssh 目录,打开或新建 config 文件,通过如下文本指定:

Host {别名}
    HostName {IPv4 或 IPv6 地址}
    User {用户名}
    Port {端口}
    IdentityFIle {私钥地址}

同理,可以追加配置其他服务器。然后使用别名登录:

ssh {别名}
最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏