centos 6.5
使用密钥验证登录,是修改ssh配置文件的。ssh服务相关的配置文件都保存在目录 /etc/ssh 中,其中sshd_config 是ssh服务的配置文件,ssh_config是客户机的配置文件,我们是在winodows下使用ssh工具来连接登录。所以不需要配置ssh_config。只需要配置sshd_config即可。
首先编辑sshd_config文件,把下面3行的注释打开:
[root@centos-137 cong]# vim /etc/ssh/sshd_config
RSAAuthentication yes #这行是开启RSA加密功能
PubkeyAuthentication yes #这行是开启公钥验证功能
AuthorizedKeysFile .ssh/authorized_keys #这是这定公钥文件的保存位置以及名称
也可把里面的 #UseDNS yes 改为 UseDNS no #这样可以加快连接,不要验证DNS
使用ssh-keygen命令创建密钥,密钥默认位置在用户家目录的.ssh/ 下。创建完成有id_rsa id_rsa.pub 两个文件,id_rsa.pub为公钥,需要更名为配置文件指定的名字 authorized_keys,然后把私钥放到自己的电脑上,。
[root@centos-137 cong]# ssh-keygen -b 2048 -t rsa
ssk-keygen命令用于生成当前用户的密钥对。
-t rsa 命令选项指定密钥的类型为rsa。
-b 1024 命令选项指定密钥的长度为1024位。
在ssh-keygen命令生成密钥的执行过程中,需要用户回答相关的设置信息,
第一个为私钥的默认路径,
第二个为私钥的密码,
第三个为私钥的再次密码确认
禁止root用户远程登录
在sshd_config配置文件中将“permitRootLogin yes”前面的注释去掉,并将“yes”改为“no”即可。对sshd_config配置之后,重新启动sshd服务