1.使用PuTTY安装目录里的puttygen.exe工具。先点“生成(Generate)”,然后随意移动鼠标直到进度条填满,即可生成密钥
公钥部分:把上边那一段文字全选->复制备用。(不要点击“保存公钥(Save Public Key)”,点那个保存的公钥没有用!)
私钥部分:点击“保存私钥(Save Private Key)”,保存一个.ppk文件。
注:别给密钥文件加密码——加了密码,每次使用.ppk文件时就都需要提供,就背离自动登录这个目的。
自动登录
将公钥和私钥分别告知linux和PuTTY,就可以实现自动认证。
公钥文件:放在linux的一个文件里。
请先用PuTTY,输用户名密码登录linux。使用命令 nano ~/.ssh/authorized_keys 或者 vi命令 vi ~/.ssh/authorized_keys编辑authorized_keys文件。——通常这个文件不存在,nano或vi会打开一个空文件。
(如果没有.ssh文件夹 ,可能是你没有用root账号ssh登陆过,登陆一次应该就会自动生成了。)
把刚才COPY下来的公钥粘到这个文件里去。(PuTTY中按右键是粘贴。注意不要人为换行.保持原来生成的样子)
私钥文件:提供给PuTTY。
每次PuTTY登录时,在“连接 -> SSH -> 认证”选项中,“认证私钥文件”选择刚才的.ppk文件就可以自动登录了。
(英文版:Connection -> SSH -> Auth, Private keyfile for authentication)
到此,实现window主机登录linux的操作,但是如果希望这个private key使用在linux A主机上,linux主机A不用密码也能登录放有public key的Linux主机B,则还需要下面的操作
运行puttygen.exe,load 前面保存的privatekey.ppk
选择菜单Conversions->Export OpenSSH key,保存成文件id_rsa,上传到这台(一直在操作的机器)linux主机 A的~/.ssh/目录下(添加到对应的authorized_keys里面),这样这台主A就可以不用密码登陆到前面放有public key的linux主机 B 上了。
修改权限:
$ chmod 700 /root/.ssh【修改文件权限,700表示为用户设置读、写、执行的权限(开头的 7),而不给组和其他用户的权限(后面的两个 0)】
$ chmod 600 /root/.ssh/authorized_keys
$ chmod 600 /root/.ssh/id_rsa
参考:http://jingpin.jikexueyuan.com/article/56391.html
案例:
A单向免登录(免密码)-->B
C单向免登录(免密码)-->B
D单向免登录(免密码)-->B
B上统一保存各个主机的公钥.
双向登录 ,三个必备文件:id_rsa.pub id_rsa authorized_keys
http://www.jb51.net/article/94599.htm