当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 在Centos5环境下搭建安全的SSH服务器

Unix/Linux
mysql+httpd+gd+php+zend
automake 小回顾
unix黑客精神的最好诠释
www
sun t3存储的设置
RPM简明中文手册
Linux爱好者入门教程 序章 (持续更新)
第一章 Linux基础知识 (飘心)
linux下进程与线程
浅谈如何学习linux
第二章 Linux安装
硬件安装指南
Windows 2000 的桌面不見了的解決方法
部分的ADSL路由器默认帐号密码
如何设定安全log服务器呢?
iptables 规则速查
网友学习 Linux 的七点忠告
sniffer的含义及原理
Linux编程白皮书 第二章 内存管理
Linux编程白皮书 第二章 内存管理 2.1.1 请求调页 --2.1.5 访问控制

Unix/Linux 中的 在Centos5环境下搭建安全的SSH服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 94 ::
收藏到网摘: n/a

其实原始的SSH服务器设置有着很多的漏洞,但一般网络管理员都喜欢这样的默认设置,认为只要保存好root密码就万事OK了,非也非也。

以前给保险公司做集成的时候曾经看到他们内部的工程师给系统安装SSH服务器的时候总要在最后导出一个.ppk的文件,最后才知道那就是SSH服务器的密钥,在网上百度一下才知道如果没有这个密钥,就算你在网络环境中知道了root密码也无济于事。不信的话试试看就知道了。

1、选择平台:公司的很多机器都是使用NT2003和BSD的,为了搞实验我装了一个Centos5.0的在我的测试机上。

默认安装完以后用VI打开 /etc/ssh/sshd_config 修改几行内容就可以了

#ServerKeyBits 768 注释取消,将768改为1024

#PermitRootLogin yes 注释取消,将yes改为no 禁止root登录

#PermitEmptyPasswords no 取消注释,禁止空密码登录

#PasswordAuthentication no 取消注释,禁止使用密码方式登录,有密钥谁还用密码啊

注意一下,在centos5.0之前SSH服务需要指明版本,#Protocol 2,1 把前面的注释取消,选择自己需要的版本就行了。

保存退出。如果想做到最大化安全链接,可以考虑在配置有双网卡的服务器上设置只允许内网链接SSH,方法很简单,在/etc/hosts.deny文件最后一行添加一句sshd: ALL 然后在/etc/hosts.allow的最后一行加上一句sshd: 192.168.0. 然后保存退出。

重启一下SSH服务 service sshd restart 就OK了。

2、制作密钥

先切换进入一个wheel组的普通用户,输入 ssh-keygen -t rsa

第一步会让你先确认钥匙的文件名。保持默认就可以了。然后输入这个密钥的口令,再确认一次就可以了。

然后cd ~/.ssh 查看一下钥匙是不是都已经建立了。将公钥更改名称后删除

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

rm -rf ~/.ssh/id_rsa.pub 别把密钥误删就行了。

将公钥文件属性更改为400禁止被篡改

chmod 400 ~/.ssh/authorized_keys

剩下的就没什么了,把密钥COPY到U盘还是FTP服务器再转移或者是复制到磁盘上就看你自己的需要了。

测试一下看服务能不能正常连接

打开puttygen-x86.exe 在程序下面选择SSH-2(RSA)密钥强度改为1024,然后点击"Load"

选取服务器端生成的私钥(文件类型要选择“All Files”) 如果没有改名字的话我们选的应该是id_rsa这个文件,开始转换私钥,这里需要输入在服务器端建立此私钥时的口令。在文本框中输入口令开始转换,保存转换后的私钥匙到适当的位置(转换后的私钥将做为PuTTY登录到服务器时使用的私钥)。点击“Save private key”,并选择适当的位置保存私钥。

PUTTY 估计做网管的朋友都很熟悉,下载地址就不废话了,没有可以下载我附件里提供的,我感觉这样的兵器绝对是每人必备一把的,双击启动 PuTTY ,在左侧找到Auth(认证方式)一项,点击Browse,选择刚刚用PuTTYGen转换后的私钥。然后点击左侧的Session,回到主机连接信息的设置。 剩下的我就不罗嗦了,自己试试就行了。