ssh安全

2013-02-05

SSH服务是目前类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.

分类:安全 | 标签: |

相关日志

评论被关闭!