无法使用密码ssh EC2 – “断开:没有支持的身份validation方法可用(服务器发送:publickey)”

我遵循以下步骤

https://coderwall.com/p/j5nk9w

这就是我所做的

1)$ sudo useradd -s / bin / bash -m -d / home / newuser -g root newuser

input新用户的密码

2)$ sudo visudo并在root newuser之后添加ALL =(ALL:ALL)ALL

3)$ sudo nano / etc / ssh / sshd_config在/ etc / ssh / sshd_config中更改并设置PasswordAuthentication为yes

4)sudo /etc/init.d/ssh restart重新启动sshd

但是,当我尝试通过腻子login我得到以下错误:

“断开连接:没有支持的authentication方法可用(服务器发送:publickey)”

这是我的/ etc / ssh / sshd_config文件

# Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 1024 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin without-password StrictModes yes RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords PasswordAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes 

我知道这是有风险的,这不是一个公共项目。

我感谢任何帮助。

正如其他人在链接页面中指出的, 这是一个坏主意。 密码通常比使用公钥/私钥对安全得多。

也就是说,如果服务器发送publickey它不使用新的configuration。 尝试重新启动sshd

  1. vi /etc/ssh/sshd_config
  2. 编辑文件

     # Authentication: LoginGraceTime 120 PermitRootLogin without-password StrictModes yes 

    请编辑上面显示的文件中的permitRootLogin

    改变之后:

     # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes 
  3. 请使用以下命令重新启动您的ssh服务:

     /etc/init.d/ssh restart 

为了节省一些像我这样的Ubuntu新手,更新的Ubuntu实例不再使用sshd reload。 相反,它是要求:

 sudo restart ssh 

请参阅此链接了解更多详情: https : //superuser.com/questions/214799/no-etc-init-d-sshd-file-ubuntu-ec2