Putty,SecureCRT ssh登录Linux设置

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了。

猜你喜欢

转载自agileshell.iteye.com/blog/2034975