ssh安全
2013-02-05SSH服务是目前类unix系统上使用最为广泛的远程安全登录服务之一,默认端口为tcp 22端口。由于远程管理的需要,很多防火墙都对外开放了22端口,这就使得SSH服务很容易成为黑客的攻击目标,可以通过查看类unix系统的安全日志,能发现大量针对tcp 22端口的非法连接。为避免系统的SSH服务被黑客攻击,我们需要对SSH服务进行一些加固操作,以保证服务器的安全。
1 修改ssh 端口
Linux修改ssh端口22
vi /etc/ssh/sshd_config
然后修改为port 65522
以root身份service sshd restart
2 关闭远程root
#vi /etc/ssh/sshd_config
把PermitRootLogin yes
改为PermitRootLogin no
重启sshd服务
#service sshd restart
3 创建普通用户
#useradd user199
#passwd user199
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.
分类:安全 | 标签: ssh |