目录

配置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

将公钥添加到authorized_keys文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
1
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

这样就可以直接使用host名来连接

ssh server_name
1

# ssh安全配置

如果已经保存了密钥,可以在服务器配置文件里禁止密码登录,避免被网络上的ssh爆破攻击入侵

sudo vim /etc/ssh/sshd_config
1

修改或添加以下配置项:

PubkeyAuthentication yes
PasswordAuthentication no  # 禁用密码登录(确保密钥登录工作后再设置)
PermitRootLogin no         # 禁止root直接登录(推荐)
1
2
3

重启ssh服务

sudo systemctl restart sshd
1
最后一次更新于: 2025/06/30, 21:09:13