配置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

浙公网安备 33010602011771号