SSH连接不上Linux主机的解决方法

一、CentOSSSH的安装与配置

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定SSH 为建立在应用层和传输层基础上的安全协议。

传统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的。
因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。
存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。透过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗。

安装SSH
[root@linuxidc ~]# yum install ssh
启动SSH
[root@linuxidc ~]# service sshd start
设置开机运行
[root@linuxidc ~]# chkconfig sshd on

SSH相关配置文件的修改

首先修改SSH的配置文件,用vim打开SSH的配置文件,如下:

[root@linuxidc ~]# vim /etc/ssh/sshd_config
#Protocol 2,1                             ← 找到此行将行头“#”删除,再将行末的“,1”删除,只允许SSH2方式的连接
 ↓
Protocol 2                                 ← 修改后变为此状态,仅使用SSH2

#ServerKeyBits 768                   ← 找到这一行,将行首的“#”去掉,并将768改为1024
 ↓
ServerKeyBits 1024                   ← 修改后变为此状态,将ServerKey强度改为1024比特

#PermitRootLogin yes                ← 找到这一行,将行首的“#”去掉,并将yes改为no
 ↓
PermitRootLogin no                  ← 修改后变为此状态,不允许用root进行登录

#PasswordAuthentication yes       ← 找到这一行,将yes改为no
 ↓
PasswordAuthentication no         ← 修改后变为此状态,不允许密码方式的登录
#PermitEmptyPasswords no   ← 找到此行将行头的“#”删除,不允许空密码登录
 ↓
PermitEmptyPasswords no     ← 修改后变为此状态,禁止空密码进行登录

然后保存并退出

因为我们只想让SSH服务为管理系统提供方便,所以在不通过外网远程管理系统的情况下
只允许内网客户端通过SSH登录到服务器,以最大限度减少不安全因素

修改屏蔽规则,在文尾添加相应行,设置方法如下:

[root@linuxidc ~]# vim /etc/hosts.deny
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
sshd: ALL                                               ← 添加这一行,屏蔽来自所有的SSH连接请求

[root@linuxidc ~]# vim /etc/hosts.allow         ← 修改允许规则,在文尾添加相应行
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
sshd: 192.168.0.                                       ← 添加这一行,只允许来自内网的SSH连接请求

在修改完SSH的配置文件后,需要重新启动SSH服务才能使新的设置生效
[root@linuxidc ~]# service sshd restart
Stopping sshd:                                            [  OK  ]
Starting sshd:                                              [  OK  ]

这时,在远程终端(自用PC等)上,用SSH客户端软件以正常的密码的方式是无法登录服务器的
为了在客户能够登录到服务器,我们接下来建立SSH用的公钥与私钥,以用于客户端以“钥匙”的方式登录SSH服务器

SSH2的公钥与私钥的建立:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cc649adfa6701ede6ccdb052d86bb708.html