ssh服务的一些设定放在配置文件/etc/ssh/sshd_config里。每个发行版的linux的ssh服务预设值不完全相同。
- #Port 22 默认使用22号端口,如果想要开放多个端口,重复使用该行,修改端口即可。
- Protocol 2 ssh协议版本,如果想要支持旧版本,需要使用Protocol 2,1
- #ListenAddress 0.0.0.0 本机上配置有多个ip地址时,如果只想要一个ip监听sshd,则需要配置。比如:我的本机配置了两个ip地址192.168.100.133和192.168.100.134,但是我只要192.168.100.133监听sshd服务,需要配置成ListenAddress 192.168.100.133
此时我配置了两个ip地址
未进行ssh设置时,两个ip地址都在监听sshd,都可以通过ssh登录
设置成ListenAddress 192.168.100.133
只有这个ip在监听sshd服务,192.168.100.134通过ssh也无法登陆
- # HostKey for protocol version 1 ssh 1版本的私钥
- #HostKey /etc/ssh/ssh_host_key
- # HostKeys for protocol version 2 ssh 2版本的私钥
- #HostKey /etc/ssh/ssh_host_rsa_key
- #HostKey /etc/ssh/ssh_host_dsa_key
- #LoginGraceTime 2m 连上ssh服务器之后,会出现输入密码的画面,在该画面中多久时间内没成功连接服务器就强迫断线。默认2分钟,若无单位则为秒
LoginGraceTime 10修改为10秒,登陆设备,等待10秒不输入密码,则断开服务器的连接
- #PermitRootLogin yes 是否允许root用户登陆,默认是yes,一般都修改为不允许
- StrictModes yes 是否让sshd去检查用户家目录或者相关文件的权限数据。
- #MaxAuthTries 6 ssh断开连接前的最大尝试次数,默认是6次
- #MaxSessions 10 ssh连接时,醉倒会话连接数session数目。如果使用securecrt的ssh连接时,sshd的MaxSessions必须>=1,当设置成2时,那么对于同一个ssh连接,只能克隆一个。仅限于当前ssh连接窗口的克隆,多克隆时,srt会提示连接不上或者有报错
- #AuthorizedKeysFile .ssh/authorized_keys 是否允许用户自己生成的秘钥进行登录,只在ssh 2这个版本生效。自制的公钥数据放在用户家目录下的.ssh/authorized_keys中
- #PermitEmptyPasswords no 是否允许空密码登陆,no不允许
- PasswordAuthentication yes 开启密码认证,no关闭密码认证
- #IgnoreUserKnownHosts no 是否忽略用户家目录下的~/.ssh/known_hosts文件记录的内容
- ChallengeResponseAuthentication no 是否允许任何的密码认证,通常我们使用PAM模块管理认证,一般为默认值no
- UsePAM yes 接上一条内容,打开
-
#X11Forwarding no 这几条都是关闭X-Windows的设定
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
# X11Forwarding no - #PrintLastLog yes 显示上次登陆的信息,默认是yes
- #TCPKeepAlive yes 当ssh服务连接成功后,服务器会一直传送tcp报文给客户端用来判断对方是否一直有连接。如果网络出现中断,ssh可以马上知道,并且不会产生僵尸进程。如果网络不稳定,可以设定为no
- #UsePrivilegeSeparation yes 是否使用较低权限的程序来供用户操作。
- #MaxStartups 10:30:100 同时允许多少个尚未登入的连接画面,就是在输入密码前的这个阶段。表示,从第10个开始,以30%的概率后续新的ssh登陆,直到100个连接
- #UseDNS yes 判断客户端的来源是否合法,会用DNS去反向查找客户端的主机名。如果在内网连接,通常设置诶no,连接速度会比较快