整理下SSH Server的配置文件中各项对其进行解释。
一、
sshd配置文件是:/etc/ssh/sshd_config,去掉注释后全文基本如下:
|
||
总结: | ||
一般ssh远程连接不上,后台登陆服务器之后,确认网络有无问题,防火墙是否放行ssh端口,查一下ssh 服务又没有启动,检查sshd_config文件配置(注意端口号、是否有地址绑定、是否允许root登陆等); 如果都没问题,再查下/etc/hosts.deny 和 /etc/hosts.allow 是否有限制登陆。 |
||
二、相关补充
1、SSH1 vs. SSH2
SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00)。事实上,SSH1和SSH2是两个完全不同互不兼容的协议。SSH2明显地提升了SSH1中的很多方面。首先,SSH是宏设计,几个不同的功能(如:认证、传输、连接)被打包进一个单一的协议,SSH2带来了比SSH1更强大的安全特性,如基于MAC的完整性检查,灵活的会话密钥更新、充分协商的加密算法、公钥证书等等。这就是用SecurityCRT的时候为什么会让你选择ssh1还是ssh2的原因。
SSH2由IETF标准化,且它的实现在业界被广泛部署和接受。由于SSH2对于SSH1的流行和加密优势,现在几乎所有Linux新发行版中,OpenSSH服务器默认禁用了SSH1。
2、SSH基于密钥的安全验证
这种登陆方式,需要依靠密钥,也就是说你必须为自己创建一对密钥对(公钥和私钥),并且把该公钥放到需要访问的服务器上。
注意:不能在需要访问的服务器上创建密钥,否则无法通过该密钥连接该服务器,但是通过该密钥连接其他服务器是正常的。
如果你要连接到ssh服务器,ssh客户端会向ssh服务器发出请求,请求用你的密钥进行安全验证。ssh服务器在收到该请求之后,会先在ssh服务器上,检查你登陆的用户的主目录下寻找对应的公钥,然后把它和你发送过来的公钥进行比较。如果两个公钥一致,ssh服务器就用公钥加密“质询”(challenge)并把它发送给ssh客户端。ssh客户端在收到“质询”之后就可以用你的私钥解密该“质询”,再把它发送给ssh服务器。
3、X11
X11也叫做X Window系统,X Window系统 (X11或X)是一种 位图 显示的 视窗系统 。它是在 Unix 和 类Unix 操作系统 ,以及 OpenVMS 上建立图形用户界面 的标准工具包和协议,并可用于几乎所有已有的现代操作系统。
4、解决SSH登陆缓慢
编辑sshd_config配置文件,把UseDNS改为no,或者在尾部添加一行:UseDNS no
关闭GSSAPI认证:GSSAPIAuthentication no
修改完成之后重启ssh服务。
5、/etc/hosts.allow 和/etc/hosts.deny
有些server会用这两个文件限制登陆的ip,通常是deny里面deny all,然后再allow需要登陆的ip地址;例如:
先禁止所有:
[root @test root]# cat /etc/hosts.deny
sshd: ALL : deny
再放行允许访问的ip:
[root @test root]# cat /etc/hosts.allow
sshd:10.10.10.* : allow 允许10.10.10.0/24网段登陆
sshd: 192.168.2.2 : allow 允许192.168.2.2这个ip登陆
6、PAM
PAM全称是可插拔身份认证模块(Pluggable Authentication Modules);
Linux-PAM (Linux下的可插入式认证模组) 是一套共享函数库,允许系统管理员来决定应用程式如何识别用户。换句话说,就是用不着(重写和)重新编译一个(支援PAM的)程式,就可以切换它所用的认证机制. 你可以整个的升级你的证系统而不用去管应用程式本身。Linux-PAM 给系统管理员提供了相当大的弹性来设定系统里程式的权限赋予。
PAM这里先不多说,以后再做单独详细介绍。
本文转自Jx战壕 51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1717862,如需转载请自行联系原作者