macos免密登录centos
环境
本文操作的环境如下:
- centos 7
- macos10.12.6
生成秘钥
首先在本机生成秘钥,打开终端,输入:
1
|
ssh-keygen -t rsa -c xxxxx@qq.com |
后面的邮箱随意就可以
然后一直按回车键,执行结束后会在当前用户根目录下面生成一个.ssh的隐藏文件夹
我们查看一下这个文件夹
1
2
3
4
|
wangjianfengdeimac:~ wangjianfeng$ cd ~/.ssh wangjianfengdeimac:.ssh wangjianfeng$ ls id_rsa id_rsa.pub known_hosts wangjianfengdeimac:.ssh wangjianfeng$ |
可以看到,里面生成了3个文件,其中id_rsa是私钥文件,id_ras.pub是公钥文件,known_hosts文件不用管
上传秘钥
在ssh目录执行一下命令:
1
|
cat id_rsa.pub > authorized_keys |
将公钥内容复制到authorized_keys中.
接下来登录远程服务器,创建.ssh文件夹
1
2
3
4
|
wangjianfengdeimac:.ssh wangjianfeng$ ssh root@xxx.xxx.xxx.xxx root@xxx.xxx.xxx.xxx's password: last login: sat mar 3 15:03:08 2018 from xx.xx.xx.xxx [root@vm_0_14_centos ~]# mkdir ~/.ssh |
退出登录后通过scp把authorized_key复制到服务器中的.ssh目录下
1
2
3
|
wangjianfengdeimac:.ssh wangjianfeng$ scp authorized_keys root@xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys root@xxx.xxx.xxx.xxx's password: authorized_keys 100% 394 73.1kb/s 00:00 |
然后尝试登录远程服务:
这里有可能会出现两种个情况:
- 登录成功:说明配置成功了
- 需要密码才能登录成功
如果需要密码才能登录的话,就是配置还未生效。通过以下步骤来尝试:
- 登录服务端
- 检查.ssh目录的文件权限以及authorized_keys的文件权限
.ssh应该是700,authorized_keys应该是600
通过以下命令修改
1
2
|
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys |
如果做了上述操作还不能成功的话,请运行以下命令来查看失败原因:
1
|
tail /var/ log /secure -n 20 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u012943767/article/details/79607607