由于工作需要,经常要从 Windows 主机访问远程的 Ubuntu 服务器,每次输入账号和老长的密码,感觉很麻烦,于是参考网上的教程简单的设置了一下就能自动登陆远程主机了,非常的方便。
! p. z9 H* {8 ^8 f 虽然 Putty 也提供了 puttygen.exe 生成公/密钥,但是和 Linux 主机生成的 KEY 格式不同,需要手工修改格式,所以我采用 Linux 主机自己生成 KEY 的方式。7 @' e. g* ?7 T% [% q5 K2 q
首先登陆到 Linux 主机,具体过程如下:
' Y! @4 ~7 O1 Z5 T8 _ 1. 生成公钥和密钥
d8 O* A4 I! v( n verdana@hostname:~$ ssh-keygen -t rsa
7 C- m+ p, R9 q7 ~ Generating public/private rsa key pair.6 G0 o. e" I1 c! Y: ^
Enter file in which to save the key (/home/verdana/.ssh/id_rsa):
7 }; B& [1 a( [; h2 d. B Enter passphrase (empty for no passphrase):
. Q6 p2 C# N+ r2 N N Enter same passphrase again:
8 b% Y z* r# e$ a' e Your identification has been saved in /home/verdana/.ssh/id_rsa.
2 k6 [& D) Z/ \+ k Your public key has been saved in /home/verdana/.ssh/id_rsa.pub.8 \7 t# X6 @' o* j- b
The key fingerprint is:
4 i, D* D" a; P1 U) }$ P( T: R1 G 51:51:da:44:28:b5:83:de:d2:1e:60:4f:81:c9:f1:1a verdana@hostname.com. `% z. T% t+ ], g6 K9 N
注意 passphrase 留空。 ~! G! F- h3 u; h, h
2. 将公钥改名为 authorized_keys% P. R# v& t9 t
verdana@hostname:~/.ssh$ mv id_rsa.pub authorized_keys
% }4 e- Z$ q7 ^ 3. 下载私钥并转换为 Putty 可识别的格式
' t. k8 l# s7 o* l Putty 无法识别 Linux 主机生成的的私钥,所以需要用 puttygen.exe 转换一下。, v5 g! w: S: o: Z$ y
a) 使用 FTP 软件或者其它方式将生成的密钥 id_rsa 拷贝到客户端主机,这里我的客户端是 Vista 系统
3 M) u0 t* ~, a3 C$ U8 J6 C b) 打开puttygen.exe,点击菜单上的:转换->导入密钥->保存密钥(如:id_rsa.ppk),密钥即转换完成,这里不设置密码保护
& _9 b* h+ v0 ]& y# i6 f. p 4. 设置 Putty$ k. A% L' _' P4 j# s, Z
打开 Putty
! E/ {6 b" S7 M I2 k$ O0 g5 B a) 会话,主机名称填入:yourname@yourhost,yourname 是你的 Linux 主机登陆名称,yourhost 是 IP 或者远程主机域名。# m8 r7 {: A% U) b5 a2 Z+ r/ j
b) 连接->SSH->认证->浏览,选择刚才转换后的密钥(id_rsa.ppk),之后保存会话即可。 |