SSH-2提供了2种常用的客户端认证方式,默认会优先尝试“密钥认证”,如果认证失败,才会尝试“密码认证”
1、基于密码的客户端认证
使用账号和密码即可认证
2、基于密钥的客户端认证
免密码认证,最安全的一种认证方式
1、基于密码的客户端认证
就是在前一篇文章里说到的,连接服务器后输入密码
2、基于密钥的客户端认证
1)在客户端(Mac)生成一对公钥和私钥:ssh-keygen然后一直敲回车,生成完毕.
cd ~/.ssh 回车, ls -l 回车。看到的id_rsa和id_rsa.pub就是私钥和公钥。
2)将公钥内容追加到授权文件尾部:
直接追加:ssh-copy-id root@服务器地址,(过程中会要求输入密码),这行指令会直接把公钥内容追加到授权文件尾部,这样就完成了。
间接追加:先将公钥拷贝到服务器 scp ~/.ssh/id_rsa.pub root@服务器地址:~/.ssh
连接手机,再将刚才拷贝过去的公钥追加到授权文件尾部 cat id_rsa.pub>>authorized_keys,完成。还是直接追加简单
下次再进行登录的时候就不会要求输入密码了,因为已经验证过秘钥了。如果还是要求输入密码,则需要在服务器端设置文件权限
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
就可以了
网友评论