来源:http://www.weiruoyu.cn/?p=447


在网上找了好久,看到这篇文章,才顺利完成了,这可能应该是那句话吧,前面吃的馒头都没有吃饱,最后一个吃饱了而已:


配置SecureCRT密钥连接Linux
SSH公钥加密的方式使得对方即使截取了帐号密码,在没有公钥私钥的情况下,依然无法远程ssh登录系统,这样就大大加强了远程登录的安全性。
1.编辑配置文件 /etc/ssh/sshd_config
#RSA认证
RSAAuthentication yes
#开启公钥验证
PubkeyAuthentication yes
#验证文件路径
AuthorizedKeysFile .ssh/authorized_keys(这就是后面要改名字的原因)
PasswordAuthentication no (关闭常规的密码登录方式,这种方式的明文的密码传输)
2.配置公钥加密链接linu

首先创建公钥,选择非对称加密方式RSA

201127311.jpg

下一步,输入需要linux账户ila的密码,注释栏写上一点提示性内容

201351351.jpg

下一步,密钥长度,默认即可,2048也行,越长月安全

201418394.jpg

下一步,生成密钥,等待,即使2048也花不了多长时间,1分钟不到(CPU T2400)

201441914.jpg

完成后下一步,这里保存了私钥地址和文件名。建议将这个名字改一改,因为生成多个用户的密钥的时候方便识别,而且放在U盘里随身携带的时候也好认识,例如改成pubkey_to_linux_for_ila。
另一个需要注意的地方就是勾选“OpenSSH密钥格式”。因为Linux默认使用的OpenSSH作为SSH客户端和服务器端,他们使用的密钥格式不一致,不转换的话无法使用。

201522298.jpg

在某些老板的SecureCRT中没有这个选项,没关系,在Linux系统中也可以转换。
如此完成即可。
3.将公钥(ssh_to_linux_for_ila.pub)拷贝到该用户宿主目录的.ssh目录下。如果没有这个目录就手动创建一个,注意是隐藏目录,然后改名字,改为authorized_keys。这个名字是对应配置文件里面的那个参数。
前面提到创建过程中如果没有格式转换的选项,在linux系统下有转换的命令:
ssh-keygen -i -f ssh_to_linux_for_ila.pub >>authorized_keys
chmod 600 authorized_keys (可选)
4.如此这般就差不多了。记得一定要重启ssh服务
service sshd restart 或者/etc/rc.d/init.d/sshd restart

201602592.jpg

201759974.jpg

201824624.jpg

这样就OK了。
如果需要在别的电脑上进行登录,那么一定要携带好了公钥和私钥,否则是ssh是无法登录的。这就是安全性的体现,即使你截取了密码也无法登录,除非你在服务器上直接登录。

附:SecureCRT默认的配置使得在linux后使用setup,ntsysv,menuconfig等工具时不能正确显示,其实只要配置 两个地方就可以了。第一,打开会话选项,将仿真终端改为linux并勾选ANSI色彩;第二,在外观选项里将字符编码选为UTF-8。

更详细请参考:http://www.weiruoyu.cn/?p=447