1. 生成用于SSH的公钥和私钥

本例用户为ifshow

ssh-keygen -t rsa

会提示输入:密钥存放位置(直接回车,默认在/home/ifshow/.ssh/目录)、密码短语、重复密码短语。

完成后在/home/ifshow/.ssh/目录下生成了2个文件:id_rsa为私钥,id_rsa.pub为公钥。

2. 导入公钥

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3. 设置正确的文件和文件夹权限

chown -R 0700 ~/.ssh

chown -R 0644 ~/.ssh/authorized_keys

chown -R ifshow:ifshow /home/ifshow

开启SELinux时,还需要执行(root用户把/home改成/root)

restorecon -R -v /home

4. 修改SSH配置文件,支持使用证书登录(root权限)

vi /etc/ssh/sshd_config

查找RSAAuthentication、StrictModes、PubkeyAuthentication、AuthorizedKeysFile把所在行修改为:

RSAAuthentication yes

StrictModes no

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

重启SSH服务