1、生成密钥对
代码语言:javascript复制ssh-keygen -t rsa -b 2048
参数说明:
- -t 加密算法
- -b bit位数
2、切换到将要使用key登陆的用户部署公钥
切换用户
代码语言:javascript复制su admin
cd到~
代码语言:javascript复制cd ~
创建目录并修改权限。
代码语言:javascript复制mkdir .ssh
chmod 700 .ssh
配置公钥,将刚才生成的公钥复制到.ssh
下并改名authorized_keys
,修改权限为600
cp ~/test/rsa_id.pem.pub .ssh/
mv .ssh/rsa_id.pem.pub .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
下载私钥到本地
3、配置ssh
切换到root编辑/etc/ssh/sshd_config
vim /etc/ssh/sshd_config
找到#PermitRootLogin yes
修改为PermitRootLogin no
(禁止root登陆)
找到#RSAAuthentication yes
修改为RSAAuthentication yes
(启用RSA认证)
找到#PubkeyAuthentication yes
修改为PubkeyAuthentication yes
(启用Pubkey认证)
Centos默认AuthorizedKeysFile .ssh/authorized_keys
配置是正确的,如果加了注释去掉#就好。
找到PasswordAuthentication yes
修改为PasswordAuthentication no
(禁止密码登陆,可以再测试使用key登陆成功后再修改)
- 重启sshd
Centos6
代码语言:javascript复制service sshd restart
Centos7
代码语言:javascript复制systemctl restart sshd
4、测试连接
代码语言:javascript复制ssh -i rsa_id.pem admin@ip
然后输入私钥的密码就可以登陆
来源:https://blog.csdn.net/defaultbyzt/article/details/103262716