windows 配置免密登录 centos7

0. 环境

  • Win10
  • CentOS7
  • Windows Terminal

1. 生成 SSH 秘钥

ssh-keygen -t rsa

中途需要输入的选项,直接默认值回车即可。我的因为使用 GitHub 原本生成了一个,直接使用即可。
默认在用户目录/.ssh 目录下,如下:

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2018/7/16     18:25           1675 id_rsa
-a----        2018/7/16     18:25            394 id_rsa.pub
-a----         2020/5/9      9:50           3328 known_hosts

2. CentOS 配置

检查服务器是否有以下目录和文件,如果没有就创建

mkdir ~/.ssh
touch ~/.ssh/authorized_keys

上传刚才 Win10 生成的公钥文件到 CentOS 并追加内容到 authorized_keys

scp .\id_rsa.pub souco@192.168.0.2:~/
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub

3. 重启 ssh 服务

systemctl restart sshd

完事儿。

4. 坑

完事儿是假的,日常填坑环节。
问题:退出重新连接 ssh,发现还是需要密码验证。
解决:检查目录和文件权限,确保 .ssh 目录权限为700,authorized_keys 文件权限为600

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

配置完重启 ssh 服务重新登录即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容