几近一周没有好好写过代码了,就准备远程配置一下客户服务器的环境。
这次客户邀请我加入了他们 DigitalOcean
的 Team 中,但是他们不想提供 Droplet 实例 Root 密码, 看了一下控制台大概找到了一个添加 SSH_Key
登陆的地方,所以使用了 PuTTYGen
创建了一对 Key,但是添加之后使用 SSH
连接时提示我: 远程服务器拒绝此密钥,让我重新输入Root账户的密码。
大概找了一下国内的相关问题并没有找到解决的方法,Google 出来也差不多,基本都是添加 Key 之后,需要创建新的实例才可以使用新添加的 Key。
那我需要对 已经创建了的 Droplet
实例 添加 Key
怎么办呢?
相信大家在搜索该问题时已经添加好了自己的 SSH Key
,具体添加创建 key 的过程我就不详述了,大家在官方 文档 中查找即可。
也可以在文末 附 中直接点击链接查看详细文档。
那么我就直接开始描述我是如何对已经创建的实例使用新增加的 Key。方法应该并不只有这一种,如果有其它更好的方式可以留言给我。
1.打开网页终端
这步应该不用说了吧,打开终端之后切换到 ~/.ssh
目录下,查看一下目录下文件
root@test:/# cd ~/.ssh
root@test:~/.ssh# ls
authorized_keys id_rsa id_rsa.pub know_hosts
可以看到有一个名为 authorized_keys
的文件,这个我不知道是不是本来就有,我这边因为客户已经关联过一个 key 了所以是有这个文件。
然后你使用 vi
或者 nano
打开这个 authorized_keys
文件。
2. 添加你的公钥到文件中
我希望你没有把之前创建Key的公钥给丢了,不过找不到了也没有关系,回到 DigitalOcean 的控制台在 Account -> Settings -> Security -> SSH keys
中找到你添加的 Key 然后点击编辑就可以看到你添加的公钥了。
把公钥复制一下,粘贴进去保存就可以了。
在粘贴的过程中遇到了粘贴进来的公钥出现转码的情况:
这是因为复制的密钥太长了,控制的一下每次粘贴内容长度,分段粘贴过来就好了。
然后就可以使用 SSH 远程连接到服务器上了(具体连接步骤查看下方 附 中查看详细文档)。
以上。
附
参考资源链接
- 使用PuTTY创建Key - Create Keys with PuTTY
- 使用OpenSSH创建Key - Create Keys with OpenSSH
- 添加Key到DO账户 - Add Keys to a DO Account
- 使用SSH连接到服务器 - Connect with SSH