Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78444
  • 博文数量: 55
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-05 21:19
文章分类
文章存档

2011年(2)

2010年(2)

2009年(51)

我的朋友

分类: LINUX

2010-03-06 11:07:06

前言
用putty,从来都是在设置的时候填上username@ip,所以登录的时候不需要输用户名,但是需要输密码。但久而久之,居然也习惯输密码了。
不过想想看,每次都要打开3个putty的,要是都输密码,无形之间浪费了不少时间。于是决定尝试不输密码的做法。

搜到一篇文章
使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)

捡主要的摘过来:
第一步:生成密匙
运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了。
passphrase可以为空,免得登录时还是要输入一次密码。

点击Save private key 按钮保存公匙和私匙,例如key.ppk,public key不用保存,以后使用Puttygen.exe Load功能就可以显示public key。

第二步:上传密匙
用自己的帐号登录linux主机,然后执行下面的命令:
$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ cat > authorized_keys
(复制puttygen public Key 文本框内的内容,按 Ctrl+C 复制到剪贴板中。以前产生的key,那么使用load 功能,就可以显示public key了,然后在Putty窗口中按Shift+Ins粘贴)
(再按Ctrl+D键,完成文件的创建)
$ chmod 600 authorized_keys

第三步:设置Putty
1) 启动Putty,设置好session的各项参数(如果以前已经设置过,那么load一下),然后从左边选择“SSH->Auth”,点击 Browse 按钮,选择 key.ppk 文件。
2) 设置 auto-login 用户名,Connection -> Data -> Auto-login username
3) 再从左边选择 Session,然后点击 Save 按钮把修改保存下来 。然后点击Open 按钮就可以登录了。
如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码

--------------------分割线---------------------------
还看到一篇文章,将登录后直接进入上次退出的时的界面


关键字:
方法是利用putty的自动运行命令这个功能来实现自动的shell保存和恢复: putty Configuration->Connection->SSH选项卡,Remote command里填上screen -d -R sh,

我填的是screen -d -R,但是我用screen后界面变的有点奇怪,跟直接登录上去的shell不太一样了。字体颜色不太一样,还有命令行下按退格,屏幕会闪。有空继续研究。

------------------进一步优化办法----------------
换服务器之后,使用上面的办法,登陆总是提示 “Server refused our key”。之后导致很长时间都回归手动输入密码。还是比较累的。
上网搜了下,没有比较完整的解决办法。倒是有一些人的方法,经过本人亲自尝试后,得到下面的解决办法。

1.使用linux命令ssh-keygen生成密钥对(提示输入密码时,不输入,即密码为空)
2.把公钥复制为~/.ssh/authorized_keys
3.密钥复制到本地,通过putty key-gen来生成私钥,并保存
4.其他步骤同上
阅读(2614) | 评论(0) | 转发(0) |
0

上一篇:思考,成长

下一篇:awk脚本中的变量定义

给主人留下些什么吧!~~