/etc/ssh/sshd.config 的参数解释和ssh登陆慢原因的解决(转)

#1.关于SSHServer的整体设定,包含使用的port啦,以及使用的密码演算方式

Port22          #SSH预设使用22这个port,您也可以使用多的port!

           #亦即重复使用port这个设定项目即可!

Protocol2,1       #选择的SSH协议版本,可以是1也可以是2,

           #如果要同时支持两者,就必须要使用2,1这个分隔了!

#ListenAddress0.0.0.0  #监听的主机适配卡!举个例子来说,如果您有两个IP,

           #分别是192.168.0.100及192.168.2.20,那么只想要

           #开放192.168.0.100时,就可以写如同下面的样式:

ListenAddress192.168.0.100#只监听来自192.168.0.100这个IP的SSH联机。

                #如果不使用设定的话,则预设所有接口均接受SSH

PidFile/var/run/sshd.pid      #可以放置SSHD这个PID的档案!左列为默认值

LoginGraceTime600    #当使用者连上SSHserver之后,会出现输入密码的画面,

           #在该画面中,在多久时间内没有成功连上SSHserver,

           #就断线!时间为秒!

Compressionyes      #是否可以使用压缩指令?当然可以?!

 

#2.说明主机的PrivateKey放置的档案,预设使用下面的档案即可!

HostKey/etc/ssh/ssh_host_key    #SSHversion1使用的私钥

HostKey/etc/ssh/ssh_host_rsa_key  #SSHversion2使用的RSA私钥

HostKey/etc/ssh/ssh_host_dsa_key  #SSHversion2使用的DSA私钥

#2.1关于version1的一些设定!

KeyRegenerationInterval3600    #由前面联机的说明可以知道,version1会使用

                #server的PublicKey,那么如果这个Public

                #Key被偷的话,岂不完蛋?所以需要每隔一段时间

                #来重新建立一次!这里的时间为秒!

ServerKeyBits768         #没错!这个就是Serverkey的长度!

#3.关于登录文件的讯息数据放置与daemon的名称!

SyslogFacilityAUTH         #当有人使用SSH登入系统的时候,SSH会记录资

                #讯,这个信息要记录在什么daemonname底下?

                #预设是以AUTH来设定的,即是/var/log/secure

                #里面!什么?忘记了!回到Linux基础去翻一下

                #其它可用的daemonname为:DAEMON,USER,AUTH,

                #LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,

LogLevelINFO            #登录记录的等级!嘿嘿!任何讯息!

                #同样的,忘记了就回去参考!

#4.安全设定项目!极重要!

#4.1登入设定部分

PermitRootLoginno    #是否允许root登入!预设是允许的,但是建议设定成no!

UserLoginno       #在SSH底下本来就不接受login这个程序的登入!

StrictModesyes      #当使用者的hostkey改变之后,Server就不接受联机,

           #可以抵挡部分的木马程序!

#RSAAuthenticationyes  #是否使用纯的RSA认证!?仅针对version1!

PubkeyAuthenticationyes #是否允许PublicKey?当然允许啦!只有version2

AuthorizedKeysFile.ssh/authorized_keys

           #上面这个在设定若要使用不需要密码登入的账号时,那么那个

           #账号的存放档案所在档名!

#4.2认证部分

RhostsAuthenticationno  #本机系统不止使用.rhosts,因为仅使用.rhosts太

           #不安全了,所以这里一定要设定为no!

IgnoreRhostsyes     #是否取消使用~/.ssh/.rhosts来做为认证!当然是!

RhostsRSAAuthenticationno#这个选项是专门给version1用的,使用rhosts档案在

           #/etc/hosts.equiv配合RSA演算方式来进行认证!不要使用

HostbasedAuthenticationno#这个项目与上面的项目类似,不过是给version2使用的!

IgnoreUserKnownHostsno  #是否忽略家目录内的~/.ssh/known_hosts这个档案所记录

           #的主机内容?当然不要忽略,所以这里就是no啦!

PasswordAuthenticationyes#密码验证当然是需要的!所以这里写yes?!

PermitEmptyPasswordsno  #若上面那一项如果设定为yes的话,这一项就最好设定

           #为no,这个项目在是否允许以空的密码登入!当然不许!

ChallengeResponseAuthenticationyes#挑战任何的密码认证!所以,任何login.conf

                #规定的认证方式,均可适用!

#PAMAuthenticationViaKbdIntyes#是否启用其它的PAM模块!启用这个模块将会

                #导致PasswordAuthentication设定失效!

 

#4.3与Kerberos有关的参数设定!因为我们没有Kerberos主机,所以底下不用设定!

#KerberosAuthenticationno

#KerberosOrLocalPasswdyes

#KerberosTicketCleanupyes

#KerberosTgtPassingno

 

#4.4底下是有关在X-Window底下使用的相关设定!

X11Forwardingyes

#X11DisplayOffset10

#X11UseLocalhostyes

#4.5登入后的项目:

PrintMotdno#登入后是否显示出一些信息呢?例如上次登入的时间、地点等

           #等,预设是yes,但是,如果为了安全,可以考虑改为no!

PrintLastLogyes     #显示上次登入的信息!可以啊!预设也是yes!

KeepAliveyes      #一般而言,如果设定这项目的话,那么SSHServer会传送

           #KeepAlive的讯息给Client端,以确保两者的联机正常!

           #在这个情况下,任何一端死掉后,SSH可以立刻知道!而不会

           #有僵尸程序的发生!

UsePrivilegeSeparationyes#使用者的权限设定项目!就设定为yes吧!

MaxStartups10      #同时允许几个尚未登入的联机画面?当我们连上SSH,

           #但是尚未输入密码时,这个时候就是我们所谓的联机画面啦!

           #在这个联机画面中,为了保护主机,所以需要设定最大值,

           #预设最多十个联机画面,而已经建立联机的不计算在这十个当中

#4.6关于使用者抵挡的设定项目:

DenyUsers*       #设定受抵挡的使用者名称,如果是全部的使用者,那就是全部

           #挡吧!若是部分使用者,可以将该账号填入!例如下列!

DenyUserstest

DenyGroupstest     #与DenyUsers相同!仅抵挡几个群组而已!

#5.关于SFTP服务的设定项目!

Subsystemsftp/usr/lib/ssh/sftp-server

如果登陆慢,可以通过ssh-v目标服务器IP地址看原因

一般可能是gssapi造成的,通过ssh-oGSSAPIAuthentication=no目标服务器IP地址可以解决,修改/etc/ssh/sshd_config中的GSSAPIAuthenticationno可能有用,也可能没用

相关推荐