SSH禁用密码validation

我正在寻找一种方法来禁用ssh客户端访问密码提示,如这里所述

我无法禁用根login的password:提示。 我已经将sshd_config文件更改为:

 ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no 

并且还更改了权限chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys 。 我错过了什么? 这是否需要我有密码?

详细转储:

 debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/user/.ssh/id_rsa debug1: Authentications that can continue: publickey,password debug1: Trying private key: /home/user/.ssh/id_dsa debug1: Trying private key: /home/user/.ssh/id_ecdsa debug1: Next authentication method: password 

的/ 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 #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 no 
 # Change to no to disable tunnelled clear text passwords #PasswordAuthentication no 

取消第二行的注释

 service ssh restart 

代替

 /etc/init.d/ssh restart 

这可能工作。

这里是一个脚本自动执行此操作

 # only allow key based logins sed -n 'H;${x;s/\#PasswordAuthentication yes/PasswordAuthentication no/;p;}' /etc/ssh/sshd_config > tmp_sshd_config cat tmp_sshd_config > /etc/ssh/sshd_config rm tmp_sshd_config 

如何禁用SSH的密码validation

一旦configuration了SSH密钥,您可以通过禁用SSH密码authentication来为服务器添加一些额外的安全性。 (请注意,如果确实丢失了私钥,这将使服务器无法访问,您需要联系pipe理员才能重新启用此function。)

要禁用此设置,您可以执行以下操作:

 nano /etc/ssh/sshd_config 

在此文件中,将以下设置设置为以下值。 如果这些设置已经在文件中,请将其设置为“否”,而不是添加新行。

 ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no 

完成此操作后,重新启动SSH守护程序以应用设置。

 /etc/init.d/sshd restart 

这是从我有一个教程:

在你的机器上作为root用户:

 ssh-keygen -t rsa 

并将密码留空

从你的本地机器:(你将不得不input密码)

 ssh root@remotemachine mkdir -p .ssh 

然后:

 cat .ssh/id_rsa.pub | ssh root@remotemachine 'cat >> .ssh/authorized_keys' 

现在你可以不用提示就login了

 ssh root@remotemachine 

链接: http : //www.linuxproblem.org/art_9.html如果您有任何问题!