封面图:https://www.pixiv.net/artworks/93665187
客户端生成密钥对
Windows
先在自己电脑的 C:\Users\用户名\.ssh
文件夹下看看有没有图里的两个文件。

如果没有,或者没有 .ssh
文件夹,说明这台机器还没生成公钥-密钥对,需要生成。方法:搜索并打开 CMD,输入 ssh-keygen -t rsa
,然后一路回车。出现框框长得像俄罗斯方块,并且 .ssh
文件夹出现两个文件就是生成成功。(如果已经有了这两个文件,不要重新生成!)

如果已经有了两个 id_rsa
文件或者生成完毕,在 .ssh
文件夹中用记事本打开 id_rsa.pub
,全选并复制里面的内容(也就是自己电脑的公钥),这就是待会要添加到服务器的公钥。

Linux
首先输入
ls $HOME/.ssh -al
如果像下图显示已经存在,就不能继续生成了。(硬是要继续也可以,但是已经生成过覆盖掉会导致以前添加过这个公钥的服务器无法登录)

如果像下图,那就表明还没生成过,可以继续。

然后输入 ssh-keygen -t rsa
并一路回车即可。
之后输入 sudo vim $HOME/.ssh/id_rsa.pub
打开公钥文件,全选并按鼠标右键复制。
公钥添加到服务器
上一步已经复制了客户端的公钥。ssh 连接服务器,输入
sudo vim $HOME/.ssh/authorized_keys
另起一行,粘贴公钥到末尾,保存并退出。
重要
如果服务器的 authorized_keys
第一行有:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"debian_user\" rather than the user \"root\".';echo;sleep 10";exit 142
等类似字样,则需要删除才能远程 ssh 登录。
一般会存在于 root 用户中,允许 root 用户 ssh 远程登录可能会产生安全风险。
Comments NOTHING