下面以较普遍的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.
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:加固Linux+SSH保证服务器安全