配置 SSH 连接免密码登录
生成秘钥对
使用 ssh-keygen 命令生成秘钥对
常用的命令
1 | ssh-keygen -f "file_name" |
为远程主机配置公钥
1. 使用 ssh-copy-id 命令
1 | ssh-copy-id remote_username@server_ip_address |
2. 手动配置
- 首先先连接远程主机。
- 使用文本编辑工具打开
~/.ssh/authorized_keys - 将生成的
*.pub公钥文件的内容复制到authorized_keys文件内,可以配置多个公钥,每行一个公钥。
使用私钥远程连接主机
1 | ssh -i "private_key" "user_name@server_ip" |
可能会遇到的问题
权限问题
authorized_keys 文件需要严格的权限,查看此文件的权限是不是 600,不是的话重新设置。
1 | chmod 700 .ssh |
ssh 配置文件问题
老版本的 ssh 需要进行配置,配置 /etc/ssh/sshd_config,将下列两项取消注释。
1 | AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 |
普通非root用户需要开启此项
1 | PubkeyAuthentication yes |
秘钥对生成问题
windows 下生成的秘钥对会有可能不是 openssh 格式需要将之转为 openssh 格式秘钥。
如果可行的话通过远程主机进行秘钥对生成。