sshd: why my ssh login is weirdly slow?

Discussion in 'Server Operation' started by jiandingzhe, Jan 19, 2011.

  1. jiandingzhe

    jiandingzhe New Member

    First of all, I have a server running sshd.
    If I login to the server from client running Fedora, using openssh or using nautilus, it will take very long time to have the password prompt displayed. Sometimes it becomes so long that the client cries out a failure.
    However, if I login from client running Windows using putty or winscp, it never delays like this.
    What might the problem be there? Thanks a lot!
     
  2. falko

    falko Super Moderator

    Any errors in your logs (on the server)? Does the server have correct A and PTR records?
     
  3. jiandingzhe

    jiandingzhe New Member

    What is A and PTR record?
    Where is sshd's logfile? I'm using Fedora 14.

    In /var/log/secure, it seems some malicious guys tried to login with root account frequently. But it still cannot explain why it get slow using ssh, but remain fast using putty.
     
    Last edited: Jan 20, 2011
  4. falko

    falko Super Moderator

    http://en.wikipedia.org/wiki/List_of_DNS_record_types
    Should be somewhere in /var/log/, maybe something like /var/log/auth.log.

    It's just a guess, but maybe it has to do something with slow DNS lookups.
     
  5. edge

    edge HowtoForge Supporter

    Does it also take a long time to login by FTP from your client's place?
     
  6. jiandingzhe

    jiandingzhe New Member

    I login to my server by using IP address directly, not by domain name. So I think there's nothing to do with the DNS.
     
  7. jiandingzhe

    jiandingzhe New Member

    I think the FTP service is not opened. Only SFTP.
     
  8. falko

    falko Super Moderator

    Can you post your sshd_config? (It's probably in /etc/ssh/.)
     
  9. jiandingzhe

    jiandingzhe New Member

    I hide the real user names.


    # $OpenBSD: sshd_config,v 1.81 2009/10/08 14:03:41 markus Exp $

    # This is the sshd server system-wide configuration file. See
    # sshd_config(5) for more information.

    # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

    # The strategy used for options in the default sshd_config shipped with
    # OpenSSH is to specify options with their default value where
    # possible, but leave them commented. Uncommented options change a
    # default value.

    #Port 22
    #AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::

    # The default requires explicit activation of protocol 1
    #Protocol 2

    # HostKey for protocol version 1
    #HostKey /etc/ssh/ssh_host_key
    # HostKeys for protocol version 2
    #HostKey /etc/ssh/ssh_host_rsa_key
    #HostKey /etc/ssh/ssh_host_dsa_key

    # Lifetime and size of ephemeral version 1 server key
    #KeyRegenerationInterval 1h
    #ServerKeyBits 1024

    # Logging
    # obsoletes QuietMode and FascistLogging
    #SyslogFacility AUTH
    SyslogFacility AUTHPRIV
    #LogLevel INFO

    # Authentication:

    #LoginGraceTime 2m
    #PermitRootLogin yes
    #StrictModes yes
    #MaxAuthTries 6
    #MaxSessions 10

    #RSAAuthentication yes
    #PubkeyAuthentication yes
    #AuthorizedKeysFile .ssh/authorized_keys
    #PubkeyAgent none
    #PubkeyAgentRunAs nobody

    # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
    #RhostsRSAAuthentication no
    # similar for protocol version 2
    #HostbasedAuthentication no
    # Change to yes if you don't trust ~/.ssh/known_hosts for
    # RhostsRSAAuthentication and HostbasedAuthentication
    #IgnoreUserKnownHosts no
    # Don't read the user's ~/.rhosts and ~/.shosts files
    #IgnoreRhosts yes

    # To disable tunneled clear text passwords, change to no here!
    #PasswordAuthentication yes
    #PermitEmptyPasswords no
    PasswordAuthentication yes

    # Change to no to disable s/key passwords
    #ChallengeResponseAuthentication yes
    ChallengeResponseAuthentication no

    # Kerberos options
    #KerberosAuthentication no
    #KerberosOrLocalPasswd yes
    #KerberosTicketCleanup yes
    #KerberosGetAFSToken no

    # GSSAPI options
    #GSSAPIAuthentication no
    GSSAPIAuthentication yes
    #GSSAPICleanupCredentials yes
    GSSAPICleanupCredentials yes
    #GSSAPIStrictAcceptorCheck yes
    #GSSAPIKeyExchange no

    # 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
    UsePAM yes

    # Accept locale-related environment variables
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    AcceptEnv XMODIFIERS

    #AllowAgentForwarding yes
    #AllowTcpForwarding yes
    #GatewayPorts no
    #X11Forwarding no
    X11Forwarding yes
    #X11DisplayOffset 10
    #X11UseLocalhost yes
    #PrintMotd yes
    #PrintLastLog yes
    #TCPKeepAlive yes
    #UseLogin no
    #UsePrivilegeSeparation yes
    #PermitUserEnvironment no
    #Compression delayed
    #ClientAliveInterval 0
    #ClientAliveCountMax 3
    #ShowPatchLevel no
    #UseDNS yes
    #PidFile /var/run/sshd.pid
    #MaxStartups 10
    #PermitTunnel no
    #ChrootDirectory none

    # no default banner path
    #Banner none

    # override default of no subsystems
    Subsystem sftp /usr/libexec/openssh/sftp-server

    # Example of overriding settings on a per-user basis
    #Match User anoncvs
    # X11Forwarding no
    # AllowTcpForwarding no
    # ForceCommand cvs server

    AllowUsers XXX XXX XXX XXX XXX
     
  10. falko

    falko Super Moderator

    Can you enable these three settings and restart SSH?

    Code:
    IgnoreRhosts yes
    RhostsRSAAuthentication no
    HostbasedAuthentication no
     
  11. jiandingzhe

    jiandingzhe New Member

    I tried. The login speed is not improved, but it get much more quickly when I logout.
    Previously, it also sucks for a very long time at logout.

    What are the effects of these options? I don't really understand the part of documentation about these.
     
  12. jiandingzhe

    jiandingzhe New Member

    I also tried to use putty in Linux to login. It also got very fast.
    Why does openssh get so slow?
     
  13. alleks

    alleks Member

    Either I don't understand the hall thing or either it's something weird, but why do you have the Port feature deactivated in your /etc/sshd_config file?
     
  14. jiandingzhe

    jiandingzhe New Member

    I don't know. I'm just using the default config file given from the installation...
     
  15. alleks

    alleks Member

    That's not default

    By default you will have ssh config file will have this line not commented

    Code:
    Port 22
    
    and not
    
    #Port 22
    
     

Share This Page