免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10231 | 回复: 16
打印 上一主题 下一主题

使用密匙对让putty(ssh)自动登录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-17 02:03 |只看该作者 |倒序浏览
使用密匙对让putty(ssh)自动登录

第一步:生成密匙
运行puttygen.exe,选择需要的密匙类型和长度。由于sshd默认使用SSH1
协议,所以最好选择SSH1(RSA),长度设置为1024就可以了。

生成后 Key passphrase 和 Confirm passphrase 两项可以保持为空
这个东西是用来保护私匙的密码,如果没什么特别高的安全要求就不用了,
免得登录时还是要输入一次密码。

点击 Save public key 按钮和 Save private key 按钮保存公匙和私匙,
例如 id_rsa1.pub 和 id_rsa1.prv。

第二步:上传密匙
用自己的帐号登录远程系统,然后执行下面的命令:
cd ~
mkdir .ssh
cd .ssh
cat >; authorized_keys
(此时用记事本打开 id_rsa1.pub 文件,选中所有内容,按 Ctrl+C 复制
到剪贴板中,然后在Putty窗口中按Shift+Ins粘贴)
(再按Ctrl+D键,完成文件的创建)

第三步:设置Putty
启动Putty,设置好session的各项参数,然后从左边选择“SSH->;Auth”,
点击 Browse 按钮,选择 id_rsa1.prv 文件。
再从左边选择 Session,然后点击 Save 按钮把修改保存下来。然后点击
Open 按钮就可以登录了。
如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。

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

如果要用SSH2协议,需要修改一下 /etc/ssh/ssh_config 文件,加入:
Protocol 2,1

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

ssh-keygen -b 密匙长度 -t 密匙类型
密匙类型可以是:rsa1 (对应SSH1 RSA)、rsa 和 dsa (对应SSH2)

不过 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,无法直接使用,
必须用 puttygen.exe 转换一下。所以大家还是用 rsa1 好了,反正一般用
途也没什么区别。

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

可能出现的几种问题:

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

2、Unable to use key file "id_rsa1.prv" (SSH1 private key)
私匙文件的格式不正确

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

其他信息:

putty 主页 -
http://www.chiark.greenend.org.uk/~sgtatham/putty/

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

这个东东是因为chinaunix上有朋友问我,所以写一下,有错误的地方希望大家指正。

论坛徽章:
0
2 [报告]
发表于 2004-01-17 11:10 |只看该作者

使用密匙对让putty(ssh)自动登录

原帖由 "dualface" 发表:
生成后 Key passphrase 和 Confirm passphrase 两项可以保持为空
这个东西是用来保护私匙的密码,如果没什么特别高的安全要求就不用了,
免得登录时还是要输入一次密码。


private key 不加密可不是太好,而且用 pageant 只要输入一次密码就够了。另外,尽可能使用 SSH2。

论坛徽章:
0
3 [报告]
发表于 2004-01-17 11:46 |只看该作者

使用密匙对让putty(ssh)自动登录

我用的是Windows XP,在NTFS分区上建了个文件夹,保存private key这些东西。启用文件夹的EFS加密以后,不用passphrase也没什么问题了。pageant我觉得用在cvs登录的时候更有用。

论坛徽章:
0
4 [报告]
发表于 2004-01-17 12:34 |只看该作者

使用密匙对让putty(ssh)自动登录

为什么 pageant 只是在登录 CVS 时更有用呢?登录 CVS 也应该可以用你说的方法,不用 pageant 也行啊。

论坛徽章:
0
5 [报告]
发表于 2004-01-17 14:36 |只看该作者

使用密匙对让putty(ssh)自动登录

比如 cvs -d :ext:user@host:/cvsroot co test 的时候,由于cvs是调用plink.exe来登录ssh的,所以Pageant可以帮助plink自动登录。
如果没有pageant,plink就没法登录了,而且cvs是在后台调用plink,根本没机会输入密码。如果用 :pserver: 协议,cvs就不需要plink了,因为这时根本没有使用ssh。

论坛徽章:
0
6 [报告]
发表于 2004-01-17 15:02 |只看该作者

使用密匙对让putty(ssh)自动登录

plink.exe 不用 pageant.exe 也可以登录啊,只要在 session 里设好 host, port, username 和 private key 文件就行啊,我刚刚试过。前提当然是 private key 不加密。

pageant 的作用只是将解了密的 private key 放在内存里,需要的时候调用。所以如果 private key 不加密,就没必要用 pageant 了。

请不要误解,我并不是想给你的文章挑刺,只是想把技术细节弄清楚而已。我想你的文章还是会使很多人受益的。

论坛徽章:
0
7 [报告]
发表于 2004-01-17 15:47 |只看该作者

使用密匙对让putty(ssh)自动登录

哈哈,怎么可能会误解啊。

不知道你说的设置 session 是不是在putty里面设置?这种方式倒是不错。
我现在的cvs服务器是用的:pserver:,等我改成:ext:来试试看。

论坛徽章:
0
8 [报告]
发表于 2004-01-18 02:35 |只看该作者

使用密匙对让putty(ssh)自动登录

原帖由 "dualface" 发表:

不知道你说的设置 session 是不是在putty里面设置?这种方式倒是不错。


是的,在 putty 里设好的 session,其他 program (pscp, plink, psftp) 都能用。

论坛徽章:
0
9 [报告]
发表于 2004-01-18 09:56 |只看该作者

使用密匙对让putty(ssh)自动登录

大家看看我的使用有哪里不正确
1,使用ssh1方式
使用puttygen.exe生成ssh1的公钥和私钥,格式如下:
1023 37 75201209624712669515197573538397194478744893430012801883685588278072588621401959061703769991926721869325093657889182335968590778589533800028856323756459486740169061563596973089686699013711558566277075512332272814085084803538966231740142780466260068110625575416439579519851749470548443985818223352174170342633 rsa-key-20040118

因为私钥是二进制的所以不贴出来了
将公钥拷贝到~/.ssh/authorized_keys,然后再putty.exe中的auth中设置私钥的路径,然后保存,然后打开后的提示就是Unable to use key file "id_rsa1.prv" (SSH1 private key),用puttygen.exe产生的私钥putty.exe居然不能用?
2。使用ssh2方式
使用linux下的ssh-keygen -b 1024 -t rsa产生文件,将id_rsa这个私钥拷贝到windows上,修改配置文件ssh_config 。
现在putty.exe不能直接用,所以用puttygen.exe导入这个私钥,然后按保存私钥,将这个私钥的路径填入putty.exe,连接后提示Server refused our key
这是怎么回事,我已经试了好久了,怎么也试不出来。

论坛徽章:
0
10 [报告]
发表于 2004-01-18 11:15 |只看该作者

使用密匙对让putty(ssh)自动登录

1、启动putty后,从左边选择"Connection->;SSH",看看"referred SSH protocol version"是不是选择为"1 only"或者"1",如果选择错误的话就会出现你说的情况。

2、ssh-keygen生成的私匙用puttygen转换过后保存起来,公匙放在服务器上,并添加到authorized_keys中。记得"referred SSH protocol version"选项要设置为"2 only"或者"2"。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP