中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 网络安全 > 应用安全 > 加密解密
加固Linux SSH保证服务器安全
http://www.edu.cn   2012-05-08 中国教育网络 作者:虞国全

字体选择:【大】 【中】 【小】

  SSH服务是目前类unix系统上使用最为广泛的远程安全登录服务之一,默认端口为tcp 22端口。由于远程管理的需要,很多防火墙都对外开放了22端口,这就使得SSH服务很容易成为黑客的攻击目标,可以通过查看类unix系统的安全日志,能发现大量针对tcp 22端口的非法连接。为避免系统的SSH服务被黑客攻击,我们需要对SSH服务进行一些加固操作,以保证服务器的安全。

  下面以较普遍的centos6.2为例:

  需要安装的操作系统是centos6.2 minimal 版本,即最小安装版本,本着对服务器需要什么安装什么的要求,这个版本是最为简便的。在安装完成操作系统后,需要做以下几点操作。

  1 修改ssh 端口

  Linux修改ssh端口22

  vi /etc/ssh/ssh_config

  vi /etc/ssh/sshd_config

  然后修改为port 8888

  以root身份service sshd restart ,ssh_config和sshd_config必须同时修改成8888,方可生效

  2 关闭远程root

  #vi /etc/ssh/sshd_config

  把PermitRootLogin yes

  改为PermitRootLogin no

  重启sshd服务

  #servicesshd restart

  3 创建普通用户

  #useradduser199

  #passwduser199

  4 让用户user199可以通过sudo执行所有root可执行的命令

  首先#yun install sudo

  以root身份用visudo打开配置文件,可以看到以下几行:

  # Runas alias specification

  # User privilege specificationroot ALL=(ALL)ALL

  user199 ALL=(ALL) ALL

  为了更好的保证安全性,作以下设置:

  修改vi /etc/ssh/sshd_config 文件

  (1)PermitEmptyPasswords no #不允许空密码用户login(仅仅是明文密码方式,非证书方式)。

  (2)RSAAuthentication yes # 启用RSA 认证。

  (3)PubkeyAuthentication yes # 启用公钥认证。

  (4)PasswordAuthentication no # 禁止密码认证。

  补充:修改vi /etc/ssh/ssh_config 文件(全局配置文件)

  RSAAuthentication yes

  # 允许RSA私钥方式认证。

  PasswordAuthentication no #,禁止明文密码登陆。(这里才是关键)

  生成配置公钥与私钥

  mail:/$ ssh-keygen -t rsa

  Generating public/private rsa key pair.

  Enter file in which to save the key (/root/.ssh/id_rsa): /home/user/.ssh/id_rsa

  (生成私钥与公钥存放位置,使用哪个账户操作就放在哪个账户下面)

  Enter passphrase (empty for no passphrase): 输入密码

  Enter same passphrase again:再次输入密码

  Your identification has been saved in /home/user/.ssh/id_rsa. (生成的私钥)

  Your public key has been saved in /home/user/.ssh/id_rsa.pub. (生成的公钥)

  The key fingerprint is:

  76:04:4d:44:25:37:0f:b1:a5:b7:6e:63:d4:97:22:6b

  将生成的公钥i d _ r s a . p u b 复制一份并重命名为authorized_keys放在服务器用户主文件夹的.ssh目录下。

  将生成的私钥id_rsa拷贝到需要发起远程的客户端电脑上。

  启动客户端连接软件(以Private Shell为例),点击Advanced选项,选择User Keys,点击Import Key,在弹出的“打开”中找到刚刚复制到本地的id_rsa文件并打开。输入在制作这个私钥时设置的密码,输入完确定之后为该key命名,确定后设置此证书在本地发起连接时是否需要输入密码,如需要则设置,不需要就留空,最后点击Ok,本地证书就制作添加完成了。

  重新启动ssh服务:/etc/init.d/ssh restart。

  (作者单位为南昌理工学院英雄校区计算机系)

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com