您的位置:首页 > 运维架构 > Linux

Linux 下 SSH 配合 SecureCRT 的密匙完美使用方法。

2012-07-14 16:06 274 查看
我想肯定有不少朋友在使用 SecureCRT 做为 SSH 的客户端软件,但都很少使用他的 RSA/DSA 加密功能吧,怎么你还不知道 RSA 是什么?

SSH,特别是 OpenSSH,是一个类似于 telnet 或 rsh,ssh 客户程序也可以用于登录到远程机器。所要求的只是该远程机器正在运行 sshd,即 ssh 服务器进程。但是,与 telnet 不同的是,ssh 协议非常安全。加密数据流,确保数据流的完整性,甚至安全可靠的进行认证它都使用了专门的算法。

然而,虽然 ssh 的确很棒,但还是有一个 ssh 功能组件常常被忽略、这个组件就是 OpenSSH 的 RSA/DSA 密钥认证系统,它可以代替 OpenSSH 缺省使用的标准安全密码认证系统。

OpenSSH 的 RSA 和 DSA 认证协议的基础是一对专门生成的密钥,分别叫做专用密钥和公用密钥。使用这些基于密钥的认证系统的优势在于:在许多情况下,有可能不必手工输入密码就能建立起安全的连接。

好了知道 RSA和DSA 是怎么回事了吧,至于里面的原理我就不讲了,有兴趣的朋友去看看公匙密匙的原理就行。其实不止 SecureCRT 支持 RSA/DSA,其他ssh的客户端软件都支持类似的 RSA/DSA,只不过好像不同软件产生的公匙密匙好像不通用。我这里只是拿最典型的 SecureCRT 来说明 RSA怎么使用来配合l inux 下的 ssh 服务

我的环境:CentOS4.4 openssh-3.9p1-8 SecureCRT 5.1

服务端 openssh 我们先不可以设置,等客户端设置好后,我们再回过头来设置 ssh。

(1.)首先产生 SSH2 的秘匙对,我选择使用 RSA 1024 位加密。(如下图)



(2.)



(3.)在选择密钥类型时,选择 RSA 方式。(如下图)



(4.)输入一个保护您设定的加密密钥的通行短语。(如下图)



(5.)在密钥的长度(位)中,使用默认的 1024 位加密即可。(如下图)



(6.)系统开始生成密钥。(如下图)



(7.)为生成的密钥选择一个文件名和存放的目录(可以自行修改或使用默认值)。(如下图)



到此为止,使用客户端 SecureCRT 生成密钥已经完成。接下来,就是要将密钥文件上传至服务器端,并

在服务器端导入密钥。

比如我这里要用 root 帐户使用 SSH2:

mkdir /root/.ssh

chmod 700 /root/.ssh

把之前生成的后缀名为 pub 的密钥文件传到 linux 服务器上,如果你已经在用 SecureCrt,可以参考《SecureCRT 来上传和下载数据》并开始导入:

ssh-keygen -X -f Identity.pub >> /root/.ssh/authorized_keys2

完成后,在 /root/.ssh/ 下面就会多出一个 authorized_keys2 文件。这个就是服务器端的密钥文件。

(8.)在 SecureCRT 客户端软件上新建一个 SSH2 连接。(如下图)

协议上,选择 SSH2

用户名,输入 root



(9.)因为,我们是要让服务器使用 RSA 方式来验证用户登陆 SSH,因此在“身份验证”一栏中,我们只

选择“公钥”方式,然后点击右边的“属性”按钮。(如下图)



(10.)在出现的“公钥属性”窗口中,找到“身份或证书文件”,(即上面第7步骤中生成的密钥文件)



(11.)整个通过 RSA 密钥方式验证用户登陆 SSH 的步骤,就完成了。但接下来,为了服务器的安全,我们

还需要修改 SSH2 的配置文件,让其只能接收 RSA 密钥方式验证用户。(即取消口令认证)

vi /etc/ssh/sshd_config

RSAAuthentication yes # 启用 RSA 认证

PasswordAuthentication no # 不使用口令认证

/etc/rc.d/init.d/sshd restart

/usr/sbin/useradd -u 800 -G wheel -m testuser

转载请注明“转载”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: