客户端:MacOS
服务端:CentOS
其他系统操作类似。
1. 客户端生成密钥。
ssh-keygen -t rsa -C "mac"
* -C 是注释的意思,如果你有多个密钥,价格注释比较好区分
* windows系统可能没有ssh-keygen命令,装一个git-bash就好了
2. 上述命令一直敲回车,会生成两个文件id_rsa,id_rsa.pub,前面是私钥,后面是公钥。
私钥放到本机~/.ssh目录下,改个名字:id_rsa_mac,方便以后增加其他密钥,在~/.ssh目录下新建config文件,内容如下:
# 这里是注释 Host sample HostName 你的服务器地址 Port 你的ssh端口,默认22 User 登录用户名 IdentityFile ~/.ssh/id_rsa_mac
3. 将上面的公钥id_rsa.pub打开,全文复制,然后到服务器上进行如下操作:(特别注意:你想免密码登陆哪个账号,就在相应账户的目录下进行操作,我之前一直失败就是这里没配好,网上的教程也很少提醒这个):
进入~/.ssh目录(如果没有则新建)
打开authorized_keys文件(没有则新建),在末尾粘贴id_rsa.pub的内容,保存。
.ssh目录访问权限设置为700,authorized_keys权限设置为644,owner都是当前账户。
4. 编辑/etc/ssh/sshd_config文件,最后增加几行:
RSAAuthentication yes PubkeyAuthentication yes Port 你的ssh端口
5. 执行services sshd restart,重启sshd服务
现在,你就可以在客户端执行ssh sample直接登陆这台服务器了!(如果还是提示你输入密码,那么就是没有配置成功,请仔细检查前面的步骤)
想使用不同账户登陆?太简单了,ssh [email protected], ssh [email protected],只要相应账户目录下正确配置了authorized_keys,都没问题,开始High吧!
原文地址:https://www.cnblogs.com/DarkMaster/p/8654919.html