Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5474888
  • 博文数量: 890
  • 博客积分: 12876
  • 博客等级: 上将
  • 技术积分: 10760
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-04 14:18
个人简介

猝然临之而不惊,无故加之而不怒。

文章分类

全部博文(890)

文章存档

2016年(1)

2014年(18)

2013年(41)

2012年(48)

2011年(65)

2010年(84)

2009年(121)

2008年(101)

2007年(129)

2006年(95)

2005年(118)

2004年(69)

分类: LINUX

2005-03-28 16:53:12

使用putty(ssh)密匙安全登录服务器

 

PUTTY 主页 

参考网页:   



我们暂且选用SSH1协议,后面讨论使用SSH2协议与使用SSH1协议设置上的不同。

第一步:生成密匙
运行puttygen.exe,选择需要的密匙类型(parameters)和长度(bits)putty默认使用SSH1协议,长度默认值为1024

 

点击Generate生成密匙,生成后 Key passphrase  Confirm passphrase 两项可以保持为空 passphrase是用来保护私匙的密码,

如果没什么特别高的安全要求就不用了,免得登录时还要输入一次密码。后面讨论如果输入passphrase,也可以自动登录系统。


点击 Save public key 按钮和 Save private key 按钮分别保存公匙和私匙

例如 id_rsa1.pub  id_rsa1.prv

第二步:上传密匙

用自己的帐号登录远程系统,然后执行下面的命令:

cd ~
mkdir .ssh

chmod 700 .ssh
cat id_rsa1.pub > .ssh/authorized_keys

chmod 644 .ssh/authorized_keys

第三步:设置
Putty
启动Putty,设置好session的各项参数(IP addressprotocol选择SSH),然后从左边选择SSH”Preferred SSH protocol version

这时我们用的是SSH1协议,那么我们就选择协议版本1,再“SSH->Auth””Private key file for authentication:” 点击 Browse 按钮,选择 id_rsa1.prv 文件。


再从左边选择 Session,然后点击 Save 按钮把修改保存下来。然后点击Open 按钮就可以登录了。
如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。 正常情况下会显示如下:

login as: root

Authenticating with public key "rsa-key-20050328"

Last login: Mon Mar 28 14:39:13 2005 from 192.168.0.2

有了上面第二行的信息,表明你已经正常启用SSH通讯了。

======================================================================
其它问题:

一,使用SSH2协议

如果要用SSH2协议,需要修改一下 /etc/ssh/ssh_config 文件,把#Protocol 2,1 这一行前面的#字符去掉,默认也是先是ssh2

再是ssh1,实际上不除去#注释也是可以的。

puttygen.exe生成SSH2协议格式的密匙(操作方法同上),上传到.ssh/authorized_keys文件时,需作如下修改,

因为puttygen.exebsd/Linux生成的SSH2密匙格式不一样。

例如puttygen.exe生成的公匙是id_rsa2.pub

[root@mail .ssh]# cat id_rsa2.pub

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "rsa-key-20050328"

AAAAB3NzaC1yc2EAAAABJQAAAIEAtZgDykOOegKu6sCGzxpzA2CwB5o2X37FM4lg

41LXw3DR2/7+aBQNYDez3BWkGIluyfuyWYlw21bEzUiJhJ9/8tX5FUJLBYr/ELtq

jI08dfhHaRjVM8cRQX7fv6jCNIuyEKlml9QuFdIOIX3bS5dkAHkk9GKMgaMISK44

zB4qUfM=

---- END SSH2 PUBLIC KEY ----

BSD/Linux生成的ssh2格式是

 [root@linuxwht .ssh]# cat id_rsa.pub

ssh-rsa AAAB3NzaC1yc2EAAAABIwAAAIEAsD4qEibcK1e9ZgFX6bahxnU/It5MjC/7U56n

OOZ0MDf+LHU7bWo3M6XH/mp1KeTRrHIPtmEl2PTkf9/3NffNtBdAkSJ/sWoPoaeJlShcvK2

wzOsrre4FyJRRUtl2jdCDJxRX0Cu2GV/aNphVQoAuU0lj7/55eladpO8/jr14adE=

所以照着Linux默认的格式改一下就可以了。

如果没有 puttygen.exe,那么可以用 bsd/linux 自带的 ssh-keygen 生成密匙,命令格式如下:
ssh-keygen -b 
密匙长度 -t 密匙类型

密匙类型可以是:rsa1 (对应SSH1 RSA)、rsa  dsa (对应SSH2

如:ssh-keygen –b 1024 –t rsa

默认是生成的~/.ssh/id_rsa文件。

不过 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,无法直接使用,必须用 puttygen.exe 转换一下。

所以大家还是用 rsa1 好了,反正一般用途也没什么区别。

如果不存在以上转换问题,直接如下也可。


 

把这个文本框里的公钥粘贴到 vim 中去,需要说明几点:这个文本框里的内容是一行的,粘贴到 vim 中时,别忘了按字母 o 这个键,否则的话,粘贴进去后,开头的 ssh-rsa 会变成 sh-rsa,为什么呢?哈哈,想想吧。
为什么不按字母键 i 呢?这个在 vim 中不就是插入么?原因是我很懒,按字母 o,我可以节省一次按回车键。虽然按大写 O 也行,那我不是还得再按一下 Shift 键么?
别忘了,在 PuTTY 中默认的粘贴可是按鼠标右键哦,然后按一下 ESC 键,然后输入 :wq 保存退出,等等,大家先别着急的输入 :wq,既然输入冒号还得按下 Shift 键,那我们就干脆直接两下大写的字母 Z,也就是 ZZ。怎么样?vim 也一样保存退出了吧。这次又节省了一次按键和两次寻找字母的移动,把懒得优良传统再一次在实践中发扬光大

二,让Putty显示中文

启动putty

windows -> appearance -> font setting -> change...

putty的默认字体设置为"新宋体" 小四

连接到服务器以后输入:

export LANG=zh_CN.GB2312

更改环境变量。


三,设置passphrase后,让系统自动登录

打开pageant.exe,右击右下角的pageant.exe的图标,"add key",选择刚刚生成的私匙如id_rsa2.ppk,OK,

只要打开pageant.exe,以后就不用输入passphrase,系统就可以自动登录了。

pageant 的作用是将解加密的 private key 放在内存里,需要的时候调用。

======================================================================

可能出现的几种问题:


1
Server refused our key
公匙和私匙不匹配,或者没有 authorized_keys 文件

解决方法:这个问题大多是使用puttygen.exe生成ssh2格式的密匙和Linux上面的不一样,

照着上面的改(只是增加ssh-rsa)就可以了。

2
Unable to use key file "id_rsa1.prv" (SSH1 private key)
私匙文件的格式不正确或登录类型没有设置正确

解决方法:打开puttyàSSH选项时,“Preferred SSH protocol version:”,这时如果你用SSH1协议,

就选择“1”,如果你使用SSH2协议就选择“2”,这个大多是你生成的是SSH1协议的密匙,

putty登录类型选择为protocol 2
=================================================

阅读(4278) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~