SSH硬化不按预期工作

我试图做我的服务器上的SSH硬化,但看起来像只是阻止每个人。 我检查了目标服务器上的auth.log,它只是说:“连接closures了xxxx [preauth]”让我粘贴sshd_config在这里:

# Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 1000 # 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 #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin no 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 no # 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 AllowUsers <myusername> 

我已将我的公钥与目标服务器上用户名主目录下的authorized_keys文件相匹配。 这里有什么可能是错的?

我正在试图做这样的ssh:

 ssh -p 1000 username@serverhostname 

在我的本地,它一直在说:

 Ubuntu 12.04.2 LTS Permission denied (publickey). 

我已经解决了这个问题,并发现该特定用户的目录(.ssh)和文件(authorized_keys)是由root创build的,所以当local尝试login时,文件/ home / username /.ssh/authorized_keys

我怎么知道的?

INFO日志级别没有帮助,所以我试图在sshd_config中放入DEBUG模式,并在远程服务器上的/var/log/auth.log上放置一个tailf,然后尝试login:

 ssh -p <port number> username@serverhost 

并在auth.log上看到authorized_keys文件上存在权限错误。 我改变了该文件的权限chown'ed“该目录,然后做login,一切工作!

谢谢大家!