无法在 Ubuntu 上以非 root 用户身份通过​​ SSH 登录

无法在 Ubuntu 上以非 root 用户身份通过​​ SSH 登录

我在 Ubuntu 上使用 PuTTY 生成 SSH 密钥并连接到 droplet。我可以以 root 身份通过 SSH 登录。但不能以非 root 用户身份登录。这是我以非 root 用户身份通过​​ SSH 登录的操作:

我手动将公钥复制粘贴到非root用户下的文件中执行以下命令获取权限:

chmod 700 .ssh
chmod 600 .ssh/authorized_keys
service ssh restart

这是我尝试以非 root 身份 SSH 登录时遇到的错误:

Using username "lin-yuan".
Server refused our key
[email protected]'s password:

以下是我尝试调试的内容:

1.我尝试lin-yuan@UF:~$ sshd -t并得到这个:

Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key

2.然后我尝试lin-yuan@UF:~$ sudo /usr/sbin/sshd -d并得到这个:

debug1: sshd version OpenSSH_7.2, OpenSSL 1.0.2g  1 Mar 2016
debug1: private host key #0: ssh-rsa SHA256:+LJlY5iA1DGgr8cGZ2NOtZPT9ATq0gHoQ5YZwFq0TJE
debug1: private host key #1: ssh-dss SHA256:V0ZtT2SCbigpnhFaVRMjmXvo+4JtPUBRnh96L14Aue4
debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:JoKckvTAm13WGE+3KWxROZc9C0SVf40Gn2cxHP6qDeU
debug1: private host key #3: ssh-ed25519 SHA256:lxGynCJlUXTjXsq2jeaVrB7YfiPPpRgcrQlyWPwO7Kc
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Bind to port 22 on ::.
Bind to port 22 on :: failed: Address already in use.
Cannot bind any address.

但我仍然不知道哪里可能出了问题,你能帮助我吗?我附上了我的 /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 yes 
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 yes   
# 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 

相关内容