配置ssh密钥登录
# 配置ssh密钥登录
# 生成密钥对
询问密钥保存位置默认~/.ssh/id_rsa
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
1
查看生成的密钥,默认生成的私钥为id_rsa
,公钥为id_rsa.pub
,存一份到本地
ls -l ~/.ssh/
1
# 将公钥添加到服务器
确保.ssh目录存在并且权限正确
mkdir -p ~/.ssh
chmod 700 ~/.ssh
1
2
2
将公钥添加到authorized_keys文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
1
2
2
重启SSH服务
sudo systemctl restart sshd
1
现在应该可以使用密钥登录服务器了
ssh user@host
1
或者在windows的c:/Users/用户名/.ssh/config
中添加配置
Host server_name
HostName ip/domain
User username
IdentityFile C:/User/用户名/.ssh/id_rsa
1
2
3
4
2
3
4
这样就可以直接使用host名来连接
ssh server_name
1
# ssh安全配置
如果已经保存了密钥,可以在服务器配置文件里禁止密码登录,避免被网络上的ssh爆破攻击入侵
sudo vim /etc/ssh/sshd_config
1
修改或添加以下配置项:
PubkeyAuthentication yes
PasswordAuthentication no # 禁用密码登录(确保密钥登录工作后再设置)
PermitRootLogin no # 禁止root直接登录(推荐)
1
2
3
2
3
重启ssh服务
sudo systemctl restart sshd
1
编辑 (opens new window)
最后一次更新于: 2025/06/30, 21:09:13