/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可能有用,也可能没用