声明: 本次是非ROOT 用户 本篇中出现的zhaluo 都是用户 可以改成你自己的
OS : centOS 7.5
 

# 进入当前登陆了账号的用户目录
cd /home/zhaluo
# 生成秘钥
ssh-keygen
# 一路回车 默认秘钥会生成在 当前用户根目录下的隐藏目录 .ssh 下面
# 查看秘钥, 一般情况下两个秘钥文件 一个公钥一个私钥 私钥: id_rsa 公钥: id_rsa.pub
cd .ssh
ls -a 
# 生成认证秘钥, 但是我这一步执行 
echo id_rsa.pub >> authorized_keys
#只追加了一个文件名到authorized_keys, 无奈啊!
cat authorized_keys
rm -rf authorized_keys
# Ok 用CP 重命名一个文件吧
cp id_rsa.pub authorized_keys
# 修改配置文件
# 切换到root用户
su
# 输入密码,切换到了root 用户
vim /etc/ssh/sshd_config
#开启pubkey登录
PubkeyAuthentication yes
#从新启动一下服务
systemctl restart sshd.service
# 切回自己的用户
su zhaluo
# 为.ssh  赋予权限和用户所有 
chown zhaluo.zhaluo /home/zhaluo/.ssh -R
chmod 664 /home/zhaluo/.ssh/authorized_keys

尝试用xftp 连接 文件-> 新建
输入地址 端口 选择public key 方式

vagrant 安装centos7生成秘钥 centos7 密钥登陆_文件名

需要先把我们开始生成的私钥复制出来: 也就是id_rsa 文件; 具体方式可以先用账号密码连接xftp复制出来

用户秘钥 浏览--> 导入--确认

至于用户秘钥下面的密码 : 不需要输入 因为我们在采用ss-keygen 命令是一路回车 没有在中途输入passphrase 

vagrant 安装centos7生成秘钥 centos7 密钥登陆_linux_02


直接连接即可;

OK, 假如你登录的时候提示, 秘钥没有在远端主机注册:
OK一般是权限问题, 就是你.ssh 目录权限归属用户不正确 或者权限不正确, ssh文件夹的权限不能大于755 
重新用chmod 或者chown 设定一下下面几个权限
.ssh目录700权限
authorized_keys文件600权限,
.ssh的上级目录权限不能超过755假如还是提示: 秘钥没有在远端主机注册:
OK 切换到root用户, 查看一下home权限;
有可能是你的home目前权限不知何时权限大于755了 你需要将home的权限修改一下改成755 就OK了
再次尝试应该就可以连接了;
其实上面这些都是我遇到的问题! 哈哈哈哈

补一下命令:

# zhaluo用户
chown zhaluo.zhaluo /home/zhaluo/.ssh -R
# 如果.ssh已经是属于zhaluo的用户, 直接使用下面的命令
chmod 700 /home/zhaluo/.ssh  
chmod 600 /home/zhaluo/.ssh/authorized_keys
# 切换到root用户
su
chmod 755 /home/

OK  应该可以像我一样成功连接了

vagrant 安装centos7生成秘钥 centos7 密钥登陆_文件名_03


vagrant 安装centos7生成秘钥 centos7 密钥登陆_centos_04