使用 SSH key 登录服务器具有更好的安全性,可防止暴力破解。
SSH key 类型
rsa:最常用,兼容性最好。默认使用2048长度密钥。ed25519:最安全、加解密速度最快。如非有特殊的兼容性需求,是首选的类型。
生成方式
# ed25519 类型
ssh-keygen -t ed25519 -C "root@ujcms.com"
# rsa 类型。如需更高的安全性,可以设置长度为 4096
ssh-keygen -t rsa -b 4096 -C "user@example.com"密钥文件
会生成一个公钥和一个私钥。
ed25519。私钥:~/.ssh/id_ed25519;公钥:~/.ssh/id_ed25519.pub。rsa:私钥:~/.ssh/id_rsa;公钥:~/.ssh/id_rsa.pub。
公钥需要加入到服务器相应账户的 ~/.ssh/authorized_keys 文件中。如:cat id_rsa.pub >> authorized_keys。
私钥则在登录时使用。如 ssh -i ~/.ssh/id_ed25519 user@ip "cat /etc/hostname"。
实例
创建一个用于 ci/cd 的用户,用于操作 docker,并使用 SSH key 登录。
# -m 创建 /home/cicduser, -s 明确指定 shell 类型
sudo useradd -m -s /bin/bash cicduser
# 加入 docker 用户组
sudo usermod -aG docker cicduser
# 验证是否加入 docker 用户组
groups cicduser
