linux SecureCRT ssh key认证登陆
转自:http://blog.chinaunix.net/uid-20639775-id-3207171.html
通过SecureCRT创建key登录认证
一、生成公钥/密钥对
使用SecureCRT的 工具->创建公钥 即可,加密算法选择RSA,因为sshd配置文件中选择了RSA算法
这一步中,通行短语可以不输入。但要求输入,登陆的时候会要求你输入通行短语。
并修改Comment 相关信息,采用 个人账户名称@服务器信息 方式
(可以所有的服务器都使用一个密钥对)
填写密钥长度,默认是1024
注意保存好密钥对,建议使用手机保存
这里选择生成的密钥使用 OpenSSH Key 格式。如果选择默认的格式,上传到服务器的时候需要执行格式转换的工作,需要通过命令行来连接的也需要通过securecrt来转换私钥为openssh格式,这里建议采用openssh key格式!
点击完成后会生成两个文件,默认是Identity和Identity.pub,其中Identity为私钥,Identity.pub为公钥。
二、服务器端的配置
上传Windows客户机SecureCRT生成的公钥 Identity.pub到用户home目录下.ssh文件夹中,一般是用ftp上传.注意上传之前,一定要以ASCII格式上传。
以本人用户为例
cd /home/yangzg
mkdir .ssh #在需要开启ssh连接的用户目录下建立 .ssh目录
chmod 700 .ssh
cd .ssh
mv Identity.pub authorized_keys #如果采用的格式不是openssh的话,就需要执行ssh-keygen -i -f Identity.pub >>authorized_keys 命令进行格式转换
chmod 644 .ssh/authorized_keys
更改ssh配置文件
vim /etc/ssh/sshd_config #修改,确认 ssh配置文件
PermitRootLogin no #禁止root登录
PubkeyAuthentication yes #启用公告密钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes #允许RSA密钥
PasswordAuthentication no #禁止密码验证登录,如果启用的话,OpenSSH的 RSA认证登录就没有意义了。
重新加载sshd服务,使用/etc/init.d/ssh restart即可
到此,设置完成。可能通过新建会话来检验,在SecureCRT中新建会话时选择使用公钥认证即可,去掉密码验证,做登陆验证。
登陆测试,输入密钥通行短语,看看是否登录成功!如果登录不成功请从下面几个方面查看:
- 权限是否是644
- 属主是否正确
- 选择创建密钥的时候选择的是否是openssh,如果不是需要转换格式
三、采用命令行方式通过证书登录的设置
- 采用的openssh格式的证书的配置
直接将私钥Identity传输到对应的.ssh目录,比如传输到/home/zhangxy/.ssh,chmod 600 /home/zhangxy/.ssh/Identity
ssh -i /home/zhangxy/.ssh/Identity zhangxy@172.16.88.11 输入通行短语就可以连接进去了
- 采用标准公钥和VanDyke私钥格式的配置
先将私钥转化成openssh格式
转换后将Identity私钥转换到对应的.ssh目录,后面的操作和前面一样,这里就不赘述了!
四、Purry使用SecureCRT的私钥做证书登录配置
- 采用openssh格式的putty证书配置
直接利用puttygen.exe导入私钥,生成证书
导入后点击save private key保存证书就可以了!
打开purry,选择上一步创建的证书
配置完成,连接服务器看是否OK!
- 采用标准公钥和VanDyke私钥格式的putty证书配置
需要先将私钥转换为openssh格式,后面的操作和openssh格式的putty证书配置一样,这里不再赘述!