Chinaunix首页 | 论坛 | 博客
  • 博客访问: 181460
  • 博文数量: 8
  • 博客积分: 210
  • 博客等级: 入伍新兵
  • 技术积分: 92
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-26 16:01
文章分类

全部博文(8)

文章存档

2012年(1)

2011年(7)

我的朋友

分类: LINUX

2011-05-31 12:56:59

putty设置ssh

第一步:生成密匙
运行puttygen.exe,选择需要的密匙类型(parameters)和长度(bits)。putty默认使用SSH1协议,这里选择ssh-2 RSA长度默认值为1024。



 

  点击Generate生成密匙,生成后 的Key passphrase 和 Confirm passphrase 两项可以保持为空,passphrase是用来保护私匙的密码,如果没什么特别高的安全要求就不用了,免得登录时还要输入一次密码。后面讨论如果输入passphrase,也可以自动登录系统。如下图:

 

点击 Save public key 按钮和 Save private key 按钮分别保存公匙和私匙

例如 idssh.pub(默认保存无后缀,如idssh,无碍) 和 idssh.ppk。

第二步:上传密匙
用自己的帐号登录远程系统,然后执行下面的命令:
$mkdir .ssh      #在需要开启ssh连接的用户目录下建立 .ssh目录()

$chmod 700 .ssh
$ssh-keygen -i -f idssh >>.ssh/authorized_keys

$chmod 644 .ssh/authorized_keys   #这一步要设置为644或600,生成的authorized_keys文件要属于当前设置用户。

 

第三步

vim /etc/ssh/sshd_config #修改ssh配置文件

(1) Protocol 2                               #仅允许使用SSH2

(2) Port 22                                  #使用22端口

(3) PermitRootLogin yes                      #允许root登录

(2) PubkeyAuthentication yes                 #启用公告密钥配对认证方式

(3) AuthorizedKeysFile .ssh/Identity.pub     #设定PublicKey文件路径

(4) RSAAuthentication yes                    #允许RSA密钥

(4) PasswordAuthentication no                #禁止密码验证登录,如果启用的话,OpenSSH的 RSA认证登录就没有意义了。

第四步,重新加载sshd服务,/etc/init.d/sshd restart 或 service sshd restart

第五步:设置Putty
启动Putty,设置好session的各项参数(如IP address,protocol选择SSH),然后从左边选择SSH,”Preferred SSH protocol version:”,

这时我们用的是SSH1协议,那么我们就选择协议版本1,再“SSH->Auth”,”Private key file for authentication:” 点击 Browse 按钮,选择 idssh.ppk 文件。

 




 

 

再从左边选择 Session,然后点击 Save 按钮把修改保存下来。然后点击Open 按钮就可以登录了。
如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。 正常情况下会显示如下:

login as: root

Authenticating with public key "rsa-key-20050328"

Last login: Mon Mar 28 14:39:13 2005 from 192.168.0.2

有了上面第二行的信息,表明你已经正常启用SSH通讯了。

 

SecureCRT设置ssh

第一步,生成公钥/密钥对

使用SecureCRT的    工具->创建公钥 即可,加密算法选择RSA,因为sshd配置文件中选择了RSA算法

这一步会生成两个文件,默认是Identity和Identity.pub,其中Identity为密钥,Identity.pub为公钥。这一步中,通行短语可以不输入。不输入的话登陆时不需要输入通行短语。如果输入了,登陆的时候会要求你输入通行短语。

 

第二步,上传Windows客户机SecureCRT生成的公钥 Identity.pub到用户home目录下.ssh文件夹中,一般是用ftp上传.注意上传之前,一定要以ASCII格式上传。

#cd ~

#mkdir .ssh  #在需要开启ssh连接的用户目录下建立 .ssh目录

#chmod 700 .ssh

#ssh-keygen -i -f .ssh/Identity.pub >>.ssh/authorized_keys(这一步很重要,不然open ssh不认识SecureCRT生成的公钥.)

#chmod 644 ./.ssh/authorized_keys   #同上这一步要设置为644或600,生成的authorized_keys文件要属于当前设置用户。

 

OpenSSH公钥没有使用采用 IETF SECSH 标准,所以和SecureCRT的公钥格式不兼容,需要使用OpenSSH自带的 ssh-keygen 命令转换以后才能被OpenSSH识别。authorized_keys 可以保存多个公钥,所以公钥格式转换导入的时候,应该使用追加符 >> ,而不是 >。

#ssh-keygen -i -f Identity.pub >>.ssh/authorized_keys

 

第三步

vim /etc/ssh/sshd_config #修改ssh配置文件

(1) Protocol 2                               #仅允许使用SSH2

(2) Port 22                                  #使用22端口

(3) PermitRootLogin yes                      #允许root登录

(2) PubkeyAuthentication yes                 #启用公告密钥配对认证方式

(3) AuthorizedKeysFile .ssh/Identity.pub     #设定PublicKey文件路径

(4) RSAAuthentication yes                    #允许RSA密钥

(4) PasswordAuthentication no                #禁止密码验证登录,如果启用的话,OpenSSH的 RSA认证登录就没有意义了。

 

第三步,重新加载sshd服务,使用/etc/init.d/sshd restart即可

 

到此,设置完成。可能通过新建会话来检验,在SecureCRT中新建会话时选择使用公钥认证即可

 

 

putty的密钥转换成SecureCRT的密钥

两个程序一起用的话,两密钥是默认不能通用的,

用puttygen.exe 载入自己生成的private key,然后用“转换”导出openssh格式的private key,名自定(无后缀),最后在securecrt的选项里指定这个转换后的就OK了。

阅读(6436) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~