配置Public秘钥认证ssh连接

嘿嘿嘿嘿嘿.......

首先,由SecureCRT进行创建公钥,有两种DSA,RSA两种方式,随便选择,RSA支持度比DSA稍微低一点

然后,随便输入一串字符作为秘钥生成明文,生成的秘钥输出为两种,在这里卡了一会

一种为标准格式的,上传后需要手动进行转化为openssh格式才能使用

ssh-keygen -i -f id.pub >> ~/.ssh/id.key

另外一种为openssh格式的,上传后可直接使用,如果执行上面的指令,会显示错误

buffer_get_ret: trying to get more bytes 4 than in buffer 0
buffer_get_int: buffer error

openssh格式的可以直接拿来使用mv id.pub ~/.ssh/id.key

最后,不要忘记在/etc/ssh/sshd_config里进行配置

port 22

用于修改自己想用的端口,可以一定程度上增加安全性,聊胜于无

PubkeyAuthentication yes

打开公钥认证功能

AuthorizedKeysFile      .ssh/id.key

认证公钥存放位置

PasswordAuthentication no

不使用密码进行确认//如果不加这一条,上面的配置不会生效

--------------------------------------------------

在CRT连接属性中ssh2选项下面的Publickey中选择use session public key setting

点击使用公钥为id.pub确定,连接,输入配置的用户名(即~所在)即可进行连接

features:

生成的文件有两个,有用的只有.pub文件,曾经在这个问题上纠结了很久,是不是教程有问题

.ssh目录是谁的,就是针对谁配置的认证,无认证用户不可登陆

生成秘钥有两个,注意格式

补充:这点事儿又折腾了3个小时

.ssh目录要手工指定权限700(否则系统可能会认为不安全而禁止使用里面的key进行比对?)

可以在linux中生成key再Down到本地指令是

ssh-keygen -t dsa 

posted @ 2014-09-18 14:38  PandoraX  阅读(2144)  评论(0)    收藏  举报