编辑
2024-01-15
Linux
0
请注意,本文编写于 41 天前,最后修改于 40 天前,其中某些信息可能已经过时。

目录

将当前操作的设备的 public key 添加到远端服务器上
生成当前电脑的 ssh key
查看你的 ssh public key
使用用户名+密码的方式登录到云主机

看完本文会得到什么

  1. 学会生成 ssh key
  2. 学会如何远程登录云主机

将当前操作的设备的 public key 添加到远端服务器上

如果你从服务器供应商那里购买一台云主机的时候,一般的 vps 厂商会让你在初始化机器的时候输入一个 root 的密码,这样使得你可以通过如下方式登录你的云主机

ssh root@xx.xx.xx.xx(xx 代指云主机的 ip 地址) password: 这里输入你的密码

当你需要不定期频繁登录的时候,你每次都需要输入密码吗,这个操作就令人厌烦,因此对于很多操作云主机的小白同学来说,ssh 操作的第一个入门课就是将你自己的电脑的 ssh public key 添加到云主机里面去,让你的云主机不需要你输入密码也能“认识”你的电脑。

生成当前电脑的 ssh key

这里全网做的最好的教程来自于 GitHub -> https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent 它介绍了 windows/mac os/linux 不同的生成方式,强烈建议按照它的步骤生成你电脑的 ssh key。

查看你的 ssh public key

如果你是按照 GitHub 教程生成的你可以执行如下命令:

cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFhiXRvjh3x2OmHy2LnGw+JhS1SFhCH1aNscpy9+EFSM your-email@xxx.com

这个就是你的 ssh public key

注意

此后的操作都将在你的云主机上进行操作,请确保你执行命令行的时候是在远端进行操作,执行命令的主体是你的云主机,不是你本地的电脑

使用用户名+密码的方式登录到云主机

ssh root@xx.xx.xx.xx(xx 代指云主机的 ip 地址) password: 这里输入你的密码

然后尝试查看云主机的 ~/.ssh/authorized_keys

cat ~/.ssh/authorized_keys

不论文件存在不存在,都可以执行如下命令:

vi ~/.ssh/authorized_key

然后使用 vi 的操作方式把你的 key 添加到 ~/.ssh/authorized_key 文件里面去,从你的本地电脑拷贝文本,然后回到命令行的窗口,用 ctrl + v 就可以添加进去。 然后按一下键盘的 ESC 键,再次输入 wq 就可以保存退出了。

然后你可以尝试退出 ssh 登录,换一种方式,然后重新输入

ssh root@xx.xx.xx.xx

你就会发现,它不会再要求你输入密码,你就可以直接登录了。