Putty之public key ssh认证入门
来源:互联网 发布:编程有多难 编辑:程序博客网 时间:2024/05/21 22:48
1.工作平台
客户端:Win2kEn Sp3,Putty Beta 0.53
服务器:RedHat72,OpenSSH_3.4p1
2.Putty简介
一个免费小巧的Win32平台下的ssh客户端。它的主程序只有348k,但是功能丝毫不逊色于商业的SecureCrt,更重要的是它是免费的。
官方主页:http://www.chiark.greenend.org.uk/~sgtatham/putty/
3.Publick Key认证简介
Publick Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接。Publick Key认证的基础在于一对密钥,public key和private key,public key对数据进行加密而且只能用于加密,private key只能对所匹配的public key加密过的数据进行解密。我们把public key放在远程系统合适的位置,然后从本地开始进行ssh连接。此时,远程的sshd会产生 一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key进行解密并把这个随机数发回给远程系统。最后,远程系统的sshd会得出结论 我们拥有匹配的private key允许我们登录。
4.制造密钥
用putty套装的puttygen来产生密钥。密钥的类型建议选择SSH2 RSA,因为用的最为广泛,大多数server支持。密钥的位数选择1024对大多数用户已经足够,除非你觉得还是不安全。然后点击"Generator",此时密钥生成当然也有几个选项出现。如果你有不止一个key,你可以在“Key comment”作注释用于区别其他的key。“Key passphrase“和“Confirm passphrase“用于对硬盘上的key进行加密,如过你自己一个人用机器觉得安全有保障的话可以让它们为空。然后保存两个key。不要关掉puttygen,它还有用呢。
5.输送public key到远程系统
在远程系统自己的目录下建立目录".ssh",然后进入目录建立一个新文件authorized_keys,然后把puttygen中"Public key for pasting into authorized_keys file"粘贴于authorized_keys这个文件中。然后执行以下命令:
chmod 700 $HOME/.ssh
chmod 600 $HOME/.ssh/authorized_keys
chmod g-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys
6.测试
执行putty,建立一个session命名为ssh,设定ip,协议设为ssh,Connection设定ssh的auth中,private key的文件选择为puttygen产生的密钥。
连接开始后,要求输入username,远程系统开始public key认证,如果密钥有passphrase则需要输入,否则直接就登录了。
7.说明
如果服务器端使用的是旧版本的Openssh或者www.ssh.com的产品,那么authorized_keys的设定有所不同,具体看手册了,我这里就不详述了。
第一次写这种东西,错误难免多多,请大家指正。
---------------------------------------------------------------------------------------------
dennis2作品(对上文的补充):
1. 如果 private key 用 passphrase 加了密,可以运行 pageant.exe。运行后,在 system tray 里面就会出现一个戴着帽子的图标。双击这个图标,就会有一个对话框出现。但击 Add Key,然后选择加了密的 private key,单击 Open 后,就会出现另一个对话框问你要这个 private key 的 passphrase。输入 passphrase 并单击 OK 后,在第一个对话框里面就会出现这个 key 的信息,表示这个 key 已经被加上了。
还没有完。打开 putty,load 要用该 key 的 session,然后在左面的菜单里,选择 connection,然后在右面的 Auto-login username 里面填入你的用户名,在 Connection->SSH->Auth->Private key file for authentication 里面,填入上面的 private key 文件(这步与 cAreLeSs 的第 6 步相同)。再回到session,将所作的变化保存下来。从此以后,这个 session 就不会提示输入 password 或 passphrase 了,包括用 psftp 时也是。
2. 如果你还要从这个机器 (cAreLeSs 贴子中的 RedHat72)再 ssh 到其他的有 sshd 的机器(比如说你先 ssh 到防火墙,再 ssh 到防火墙后面的机器上),在上面提到的 Connection->SSH->Auth 里面将 Allow agent forwarding 打上钩(别忘了保存 session),这样再从 RedHat 上 ssh 到别的机器也不需要输入 password 或 passphrase 了。当然,public key 也需要拷贝到其他机器的 $HOME/.ssh/authorized_keys 里面。做了以上修改后,好像要重新启动 pageant 才行。
原文出自【比特网】,转载请保留原文链接:http://sec.chinabyte.com/224/8999224.shtml
- Putty之public key ssh认证入门
- Putty之public key ssh认证入门
- SSH public key认证登陆
- ssh public key认证免密码登录
- 使用public/private key让putty(ssh)自动登录
- 使用public/private key让putty(ssh)自动登录
- SSH Secure Shell Client用public key认证登录
- 为SFTP/SSH/SCP访问设置Public Key认证
- SSH Secure Shell Client用public key认证登录
- 无需密码的ssh登录 -- public key认证
- SSH Secure Shell Client用public key认证登录
- Putty添加SSH Key
- SSH Public Key Authentication
- Debugging SSH public key authentication problems-关于ssh公钥认证问题的排查
- putty ssh key 配置笔记
- 使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)
- [转帖][图解] 完全自由软件[WinScp+Putty+Pageant]之Public Key Authentication方式登陆SSHD
- SSH公钥(public key)验证
- Wowza 服务器打不开
- strcpy学习心得
- 网页如何实现平均分成左右两部分
- 使用GUI反编译需要手动修改的地方
- 排序(一)
- Putty之public key ssh认证入门
- Socket同时使用ObjectInputStream和ObjectOutputStream传输序列化对象时的顺序
- POJ 2891 Strange Way to Express Integers 中国剩余定理解法
- 巧夺天工的kfifo
- 第二次实验-----算法基本功与综合思考
- 通过eclipse的egit插件提交提示Auth fail
- JVM学习笔记
- Visual Studio 拖动Combobox控件未响应
- Linux设备驱动剖析之SPI(四)