1:先让ssh让password验证,这样可以让我们把生成的public key上传到~/.ssh目录下
2:用Securecrt生成key
点tools如下图:
选中 Create Public Key... 如下图:
点下一步如下:
默认是DSA算法, 我选择RSA ,点下一步,弹出如下窗口,输入密码保护私钥,为证书创建一个密码短语也是非常有必要的,因为如果一旦证书泄露了,且没有密码短语的保护,那么拿到证书的人就可以直接登陆到服务器中。
点下一步,默认key length是1024
点下一步:会出现private key和public key的生成过程,如下:
点下一步,会提示选私钥的地址,我修改在windows 桌面上!点下一步,会提示是否设置为全局key,我点yes
将liuxiaojie.pub文件上传到/root/.ssh目录下!见附件
需要转换该pub文件,并且重新修改权限,见附件
chown liuxiaojie:liuxiaojie authorized_keys ##放到哪个用户的.ssh目录下,就必须把这个文件的所有者设置为用户!否则不能成功连接,有
类似的错误
还需要修改sshd_config文件:修改方式如下:
将#ServerKeyBits 768修改为ServerKeyBits 1024
Protocol 2 ##默认就是这个
将#PermitRootLogin yes修改为PermitRootLogin no ##禁止root远程登录
将
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
三行的注释去掉即可!
将
#PermitEmptyPasswords no
PasswordAuthentication yes
修改为
PermitEmptyPasswords no
#有了证书登录了,就禁用密码登录了
PasswordAuthentication no
修改后,重启该服务
[root@qht2 ssh]# /etc/init.d/sshd restart
停止 sshd: [确定]
启动 sshd: [确定]
[root@qht2 ssh]#
securecrt登录时如下:
securecrt证书登录问题:
在配置证书登录时遇到一个问题,我在sshd_config文件里,设置不允许root远程登录,而我在使用证书时却使用root用户登录,导致用户不能访问,我多试了几次,导致ip被放到/etc/hosts.deny 文件中,我要普通用户测试也不行了,而且我恢复到初始配置(在其他的机器上copy一个sshd_config文件到本机的/etc/ssh目录下还是不行),通过密码也登录不了啦,可真急死我了
。因为服务器在美国啊,不能出错,否则就要出钱啊!后来终于在同事的提醒下想到了hostsdeny的问题!
阅读(2971) | 评论(0) | 转发(0) |