1. 本机环境
Mac Version 10.13.3 (17D102)
- 命令行工具 - Iterm2
2. 本机所需配置
2.1 生成密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将会在~/.ssh
目录下生成
id_rsa :私钥
id_rsa.pub :公钥
2.2 将RSA公钥发送给服务器
2.2.1 方法一
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP
tips: 该命令不一定每台机器均有安装
2.2.2 方法二
复制公钥到服务器
scp ~/.ssh/id_rsa.pub xxx@host:/home/id_rsa.pub
2.3 配置~/.ssh/config
Host [name]
Hostname [ip]
Port 22
User root
IdentityFile ~/.ssh/id_rsa
3. 服务器所需配置
仅限于使用方法二方需要进行以下操作
3.1 将公钥导入到认证文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.2 修改权限
chmod g-w /home/your_user //若为用户登陆
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4. 可能遇到的坑点
4.1 权限问题
.ssh
目录,以及/home/当前用户
需要700权限,参考以下操作调整
sudo chmod 700 ~/.ssh
sudo chmod 700 /home/当前用户
.ssh
目录下的authorized_keys
文件需要600或644权限,参考以下操作调整
sudo chmod 600 ~/.ssh/authorized_keys
4.2 StrictModes问题
编辑
sudo vi /etc/ssh/sshd_config
找到
#StrictModes yes
改成
StrictModes no
重启sshd
服务 service ssh restart
4.3 开启RSA认证允许
在/etc/ssh/sshd_config
中
开启
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启sshd
服务 service ssh restart
必杀技
可以用ssh -vvv 目标机器ip
查看详情,根据输出内容具体问题具体分析了
GOOD LUCK!