自己重装系统,无法用以前的私钥登录DigitalOcean。
为了解决这个问题,一开始想通过ssh-copy-id -i 私钥地址 用户名@ip地址
将公钥拷贝到服务器下~/.ssh/authorized_keys
文件中 但是 结果是 Permission denied (publickey).
这是因为DigitalOcean默认关闭了用户名和密码登录的方式。没办法只能登录到DigitalOcean控制面板,通过Console登录我的服务器更改sshd配置信息,输入sudo vim /etc/ssh/sshd_config,注意不是ssh_config,两者区别是一个是服务器配置,一个是客户端配置。相关参数含义
将
UsePAM yes
IgnoreUserKnownHosts no
PasswordAuthentication no
改为
UsePAM no
IgnoreUserKnownHosts no
PasswordAuthentication yes
然后,利用systemctl restart sshd
重启sshd服务,这样就可以用密码登录远程服务器把新生成的客户端公钥上传到服务器。改完后为了安全起见,记得sshd_config改回去。