Linux SecureCRT ssh key认证登录

通过SecureCRT创建key登录认证

一、生成公钥/私钥

使用公钥认证方法,公钥放在服务器端,私钥放在本地。

生成两个文件,zdl.pub是上传到服务器,zdl私钥放在本地。

ssh-keygen -i -f zdl.pub > authorized_keys

使用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/danny
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中新建会话时选择使用公钥认证即可,去掉密码验证,做登陆验证。

登陆测试,输入密钥通行短语,看看是否登录成功!如果登录不成功请从下面几个方面查看:
1、权限是否是644
2、属主是否正确
3、 选择创建密钥的时候选择的是否是openssh,如果不是需要转换格式

三、采用命令行方式通过证书登录的设置

采用的openssh格式的证书的配置

直接将私钥Identity传输到对应的.ssh目录,比如传输到/home/danny/.ssh,chmod 600 /home/danny/.ssh/Identity

ssh -i /home/danny/.ssh/Identity danny@172.16.88.11  输入通行短语就可以连接进去

采用标准公钥和VanDyke私钥格式的配置
先将私钥转化成openssh格式
转换后将Identity私钥转换到对应的.ssh目录,后面的操作和前面一样,这里就不赘述

原文地址:https://www.cnblogs.com/chromebook/p/4112499.html