windos下putty远程登陆linux
第一步:生成密匙
运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了。
passphrase可以为空,免得登录时还是要输入一次密码。
点击Saveprivatekey按钮保存公匙和私匙,例如key.ppk,publickey不用保存,以后使用Puttygen.exeLoad功能就可以显示publickey。
第二步:上传密匙
用自己的帐号登录linux主机,然后执行下面的命令:
$cd~
$mkdir.ssh
$chmod700.ssh
$cd.ssh
$cat>authorized_keys
(复制puttygenpublicKey文本框内的内容,按Ctrl+C复制到剪贴板中。以前产生的key,那么使用load功能,就可以显示publickey了,然后在Putty窗口中按Shift+Ins粘贴)
(再按Ctrl+D键,完成文件的创建)
$chmod600authorized_keys
第三步:设置Putty
1)启动Putty,设置好session的各项参数(如果以前已经设置过,那么load一下),然后从左边选择“SSH->Auth”,点击Browse按钮,选择key.ppk文件。
2)设置auto-login用户名,Connection->Data->Auto-loginusername
3)再从左边选择Session,然后点击Save按钮把修改保存下来。然后点击Open按钮就可以登录了。
如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。
到这里基本可以结束了。。。。
但是如果希望这个privatekey使用在linux主机上,不用密码登陆上放有publickey的主机上,
那么:
第四步:linuxprivatekey设置
(运行puttygen.exe,load前面保存的key.ppk,如果还没关puttygen.exe,
这一步就不用了)
选择菜单Conversions->ExportOpenSSHkey,保存成文件id_rsa,上传到linux
主机的~/.ssh/目录下,这样这台主机就可以不用密码登陆到前面放有publickey的
主机上了。
$chmod600~/.ssh/id_rsa
=================================================
方法二:使用linux命令ssh-keygen
第一步:产生key
ssh-keygen-b密匙长度-t密匙类型
密匙类型可以是:rsa1(对应SSH1RSA)、rsa和dsa(对应SSH2)
如:
$ssh-keygen-b1024-trsa
默认在~/.ssh下会生成id_rsa和id_rsa.pub
这里id_rsa是privatekey,id_rsa.pub是publickey(密钥类型RSA,密钥长度1024)。
第二步:设置linux主机
把id_rsa.pub复制为authorized_keys,放在需要登陆的linux主机的~/.ssh目录下
$scpid_ras.pubhostname1:/home/username/.ssh/authorized_keys
这样就可以不用密码ssh到hostname1上了(hostname1和username根据自己情况而定,用户名和本地相同,不相同的话要显式地指定用户名:scpid_ras.pubusername@hostname1:/home/username/.ssh/authorized_keys)
如果想使用putty,因为ssh-keygen生成的SSH2密匙和putty的密匙格式不同,无法直接使用,
必须用puttygen.exe转换一下:
第三步:转换privatekey,设置putty
使用winscp(推荐)或者psftp.exe或者ftp把id_rsa下载到本地,运行puttygen.exe,选择菜单Conversions->Importkey
然后saveprivatekey(比如key.ppk),就可以使用这个privatekey设置putty了,设置方法和上面相同。
注:上面红色的文件名是固定的,不要使用其他文件名。
putty.exe和puttygen.exe下载地址:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html