SecureCRT 以密钥方式登录 OpenSSH

转载

1. 在服务器端用 ssh-keygen 生成密钥,运行后内容如下

[code]
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
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:
3d:22:a1:d1:07:0c:16:68:c4:e7:e4:78:f6:e8:6e:72 user@server
[/code]

总之它会出现三次提示,第一次问密钥文件的保存位置,后两次问密码,都直接按回车继续就可以(空密码)

2. 按上面所指的位置,会在你的 ~ 目录生成一个 .ssh 目录,下面有两个文件 id_rsa(私钥)和 id_rsa.pub(公钥)。

我们需要把公钥另存个名:

[code]
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
[/code]

然后想办法把 id_rsa 和 id_rsa.pub 这两个文件放到你的 Windows 机器上,保证这两个文件是在同一个目录里

3. 在 SecureCRT 里创建新的或者修改以前的链接,注意图里所示,Authentication 里只选“PublicKey”这一种方式:

[img][file=93][/img]

然后点击“Properties...”,出现如下所示窗口

[img][file=92][/img]

最上面选 global 还是 session 都无关紧要,在那个能选文件的地方,选中你刚才已经拷到 Windows 里的那两个文件中的 id_rsa.pub
要注意文件 MD5 要跟第 1 步的最后一行给出的一样,否则就是搞错了

4. 选 OK 保存设置,连一下试试吧,Platinum 大神在护佑着你

[hr]

我的运行环境:

Ubuntu 7.04
OpenSSH 4.3p2
SecureCRT 5.5.0/5.5.2

[hr]

上面只是最简单的连接过程,如果试成了,再继续往下看:

密钥是 ASCII 文本文件,可以直接查看

想用哪个用户登录,就需要保证哪个用户有 ~/.ssh/authorized_keys,注意目录和文件属性,最不容易出错的方法还是用那个用户跑一下 ssh-keygen

我把密钥存在了 Gmail 里,保证到哪都能取出来,走 https 的 Gmail 在传输密钥上也足够安全。U盘在我看来是最不可靠的,因为我的U盘经常会借人

取消密码登录,只允许密钥登录,需要修改 sshd_config(在 Ubuntu 缺省安装后这个文件在 /etc/ssh 目录里)

[code]
PasswordAuthentication no
[/code]

第 1 步里,ssh-keygen 有很多参数的,推荐生成的复杂一点的参数:ssh-keygen -b 4096 -t rsa

另外,如果在使用 ssh-keygen 时设定了密码(非空),则每次用 SecureCRT 连接的时候都需要输入这个密码,安全性最高,也最烦。我觉得我不需要那么高的安全级别。

第 2 步,之所以要另存成 authorized_keys,如果你不喜欢这个名字,可以修改 sshd_config 里的 AuthorizedKeysFile 参数

还有两个小问题:

1. 连接的时候总要等待一会,可能是跟 MySQL 的 skip-name-resolve 参数一样,一个反向检查机制,如果要去掉这个等待,修改 sshd_config,添加一行

[code]
UseDNS no
[/code]

2. 如果登录后的提示文字觉得厌烦或者冗长,可以修改 /etc/motd 文件(这几个字母是 Message of the day 的缩写),在 Ubuntu 下,它是个链接文件,实际指向 /var/run/motd,我把链接干掉重写了份,只有三行,包括两行空格(感觉写上 server 标识还是很有必要的,在列表里有一堆 server 时连错了可以马上发觉)

[hr]

最初搜到[url=http://www.5ilinux.com/blog/archives/000138.html]这里[/url],可第 4 步里那个不存在的参数 -X 让我困惑了很久

感觉使用 Linux 最大的问题在文档,不同发行版、不同版本都存在各种细微的差别,大部分文档都出于用户自发、缺少维护,缺少 MSDN 那种无敌的存在。这份文档在近一两年内应该没问题,再久就不好说了

[hr]

Team TBE 版 SecureCRT 5.5.0 的 crack 文件的音乐非常好听
第 4 步里的“护佑”实际是魔兽世界里牛头人 npc 的一句话“我们的祖先在护佑着你”,后来被一些人戏写成“我们的祖先在忽悠着你”