无密码登录Linux
在本机上生成RSA 4096长度,没有密码的密钥对
ssh-keygen -t rsa -b 4096 -f ./xxx.key -N ""
-t rsa指定密钥类型为 RSA。-b 4096设置密钥长度为 4096 位。-f ./xxx.key指定生成的密钥文件名,私钥为 xxx.key,位于当前目录下。-N ""设置新密钥的密码短语为空,这避免了创建密钥时进入交互模式要求输入密码短语。
在服务器上添加公钥
你可以手动添加到~/.ssh/authorized_keys,但是ssh-copy-id会更方便。
ssh-copy-id -i ./public_key.pub user@hostname
查看秘钥是否成功添加
cat ~/.ssh/authorized_keys
取消密码登录
在/etc/ssh/sshd_config里修改
PasswordAuthentication no
重启sshd服务
systemctl restart sshd
验证
在退出当前session之前先检查一下是否可以用公钥登录。
可以在~/.ssh/config下添加服务器信息。
Host server
Hostname 12.34.56.78
User user
IdentityFile ~/Documents/keys/private.key
用这样的配置可以这样登录
ssh server