红联Linux门户
Linux帮助

如何整合openSSH和SCRT

发布时间:2008-10-09 09:51:20来源:红联作者:HonxeInc
OpenSSH/openSSL 是现在最流行的开源软件,保护着数百万的Linux, BSD, Unix主机。而历来商业的SSH server/Client 对openSSH/openSSL的支持都不是太好,在windows下的客户端SecureCRT要支持openSSH总是有这样或那样的不足。

要么,用SecureCRT(简称SCRT)生成的公钥/密钥,然后将公钥放到openSSH Server上去,可以支持SCRT利用证书登陆到openSSH server上,但如果从另一台使用openSSH client的机器要登陆到这个openSSH server,却死活都通不过。

要么,用openSSH 生成的公钥/密钥,则安装openSSH client的机器要连接过来毫无问题,但SCRT却通不过。

为了这个问题琢磨了很久,后来在SecureCRT的官方论坛里,有人提到SecureCRT自4.0以来,已经可以支持openSSH的key了。于是怀着试试看的心情,将SCRT升级到4.1,重新做了一下配置,成功了!

实现了openSSH server + SCRT/openSSH Client 的组合,以后无论是win平台还是*nix平台,都可以方便的使用证书登陆了,实在解决了一个大问题。

How to implement?

以下简单描述一下如何配置与实现的。

配置openSSH server

以下是/etc/ssh/sshd_config的内容:

Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key KeyRegenerationInterval 1h SyslogFacility AUTHPRIV LoginGraceTime 5m PermitRootLogin yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys IgnoreRhosts yes HostbasedAuthentication no PasswordAuthentication yes PermitEmptyPasswords no ChallengeResponseAuthentication no Subsystem sftp /usr/libexec/openssh/sftp-server

该配置允许使用证书或密码登陆,对于出差到外地但没带证书的情况就很有用了,如果想只使用证书,则将:

PasswordAuthentication yes

改为:

PasswordAuthentication no

利用ssh-keygen生成公钥/密钥

例如要生成用户hzqbbc的公钥/密钥,则先su 到hzqbbc用户,然后输入:

ssh-keygen -t dsa

ssh-keygen会提示文件的存放位置及密钥的加密字,按要求输入即可。以下是样例:

[hzqbbc@p4 .ssh]$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/hzqbbc/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hzqbbc/.ssh/id_dsa. Your public key has been saved in /home/hzqbbc/.ssh/id_dsa.pub. The key fingerprint is: aa:0a:3c:be:7f:35:9b:4f:82:bf:1d:ca:0b:dc:bc:cc hzqbbc@p4

将id_dsa和id_dsa.pub复制到windows系统

在windows客户机上,建立C:\SSH目录,然后将id_dsa和id_dsa.pub原封不动的复制到C:\SSH里,确保文件名为id_dsa和id_dsa.pub

配置SCRT

请确认SecureCRT安装或升级到4.0以上,我目前使用的是4.1,然后开始配置。



第一步:打开要配置证书的主机名记录,选中主机名后,点图中红色方框的图标,进入该主机的详细配置界面。



第二步,Connection页中,Username填写要登陆的用户,该用户就是刚才创建证书的用户,这个必须注意。然后在Connection --> Authentication 中,Primary认证方法选PublicKey,并点开“Properties”。



第三步,选Use session public key ,意思是每个不同会话使用不同的证书,这对于管理大量主机的系统管理员较为有用。如果只是维护少量机器,可以考虑使用同一套证书。



Use identity file那里,打开“...”按钮,浏览我的电脑,找到C:\SSH目录,然后看到id_dsa和id_dsa.pub文件,选中id_dsa文件,然后确定,就可以看到路径为C:\SSH\id_dsa 了。



保存好配置,关闭SecureCRT,然后打开配置了证书的主机,正常情况下将提示要输入密钥的加密字,输入后就应该可以登陆进系统了。

同时再打开另一个SCRT窗口。登陆同样的主机,由于SCRT已缓存了证书及加密字,因此不再需要输入用户名密码,使用就很方便了!
文章评论

共有 2 条评论

  1. ranehaniot 于 2010-06-09 16:01:00发表:

    bi xu zhi chi

  2. longyun 于 2010-06-09 14:19:46发表:

    这么好的帖子 ,怎么没人回呢,支持楼主!!!