最近想在开发机上搭配cygwin做Windows系统上的SSH免密,中间走了很多弯路😔,发现SSH免密对于用户主目录的权限要求比较严格,另外远程主机的SSHD配置也容易忽略,下面记录一些个人认为配置过程中比较重要的点。

远程主机的目录文件权限设置

此处设置用户名及其分组为$USER,用户主目录为/home/$USER

chown -R $USER:$USER /home/$USER //主目录及其子目录的所有者权限也同样重要

chmod 700 /home/$USER

chmod 700 /home/$USER/.ssh

chmod 644 /home/$USER/.ssh/authorized_keys

SSHD文件需要开启的配置内容

修改的文件位置为:/etc/ssh/sshd_config,需要配置的内容如下:

RSAAuthentication yes //开启RSA认证

PubkeyAuthentication yes //公钥免密认证

AuthorizedKeysFile      .ssh/authorized_keys //公钥文件的位置

注意: sshd_config配置文件修改后需要命令systemctl restart sshd重启sshd服务