需要帮助让我的ssh键工作在数字海洋液滴上

时间:2017-02-26 23:49:48

标签: ssh digital-ocean

创建新Droplet时,我检查SSH选项并粘贴我的公钥(在我的AWS上运行正常)Droplet但无法登录到新Droplet。这两个实例都在使用ubuntu。通过阅读文档,我了解如果在创建实例时提供SSH密钥,则不会发送带有root密码的电子邮件。不知道为什么我被提示输入密码。将不胜感激。

这是我尝试登录的会话:

TLOMBARD-M-T8T8:.ssh tlombard$ ssh root@107.170.209.13
The authenticity of host '107.170.209.13 (107.170.209.13)' can't be established.
ECDSA key fingerprint is SHA256:CsusP0faav9SqEfSXpXpMjeEEp2GXrT77OT35x3TJco.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '107.170.209.13' (ECDSA) to the list of known hosts.
root@107.170.209.13's password: 
Permission denied, please try again.
root@107.170.209.13's password: 
Permission denied, please try again.

4 个答案:

答案 0 :(得分:4)

首先确保您正确输入密码,然后更新 sshd_config 文件,启用密码验证。

在你的ubuntu cli上执行:sudo nano /etc/ssh/sshd_config

然后将密码身份验证行从PasswordAuthontication: no更新为PasswordAuthentication:yes

重新启动执行sudo service ssh restart

的ssh服务

答案 1 :(得分:3)

您需要检查Droplet上的SSH配置。

  • 通过控制台登录(在Digital Ocean网站上)
  • su(成为root)
  • 编辑文件/etc/ssh/sshd_config
  • 搜索设置PermitRootLogin并将其设置为:

    PermitRootLogin: without-password

  • 同时检查PasswordAuthentication并确保将其设置为:

    PasswordAuthentication: no

PermitRootLogin确保SSH期望root的密钥登录。我认为这就是您所需要的一切,但设置PasswordAuthentication并不会造成任何伤害,只为所有用户设置了密钥。

一定要运行

systemctl reload sshd 

对于ubuntu 16.04,这将使用新设置重新启动SSH。 (我认为14.04是service ssh restart)。

答案 2 :(得分:1)

您可以通过Droplet控制面板重置root密码。然后,您可以通过SSH连接到Droplet并添加SSH密钥。

https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2

答案 3 :(得分:0)

运行:sudo vim /etc/ssh/sshd_config

然后将以下两个设置更改为     yes

  1. PermitRootLogin yes

  2. PasswordAuthentication yes

现在设置了root密码:sudo passwd root

重新启动SSH:sudo service sshd restart