前言
最近开始涉猎 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 {别名}
1 条评论
有关ssh的一切 https://github.com/imkevinliao/UbuntuDocs/blob/master/markdown/ssh.md