服务器用SSH秘钥对认证登录
发表于:2026-06-04 23:18:10浏览:0次
一:秘钥对认证
1:什么是秘钥对
秘钥对,在本地设备中创建一对秘钥,其中一个是私钥(保存在本地设备中),另一个是公钥(传到远程服务器中),使用公钥加密的消息只能使用对应的私钥 解密。
2:秘钥对执行过程
- 使用秘钥对认证方式登录远程设备时,远程设备会随机创建一个消息,使用公钥加密,然后把密文发送给本地设备。
- 本地设备收到密文后使用私钥解密,然后把解密后的消息发送给远程服务器。
- 远程服务器验证解密后的消息之后,再赋予你访问服务器的权限。
二:秘钥对使用命令
1:本地设备生成秘钥对
ssh-keygen
2:私钥保存在本地设备,公钥复制到服务器中
#末尾:符号,这个命令会把公钥复制到远程服务器中deploy用户的家目录里
scp ~/.ssh/id_rsa.pub deploy@123.456.78.90:
mkdir ~/.ssh
#创建~/.ssh/authorized_keys文件
touch ~/.ssh/authorized_keys
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chown -R deploy:deploy ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
三:禁用密码,禁用根用户登录
1:禁用密码和根用户登录
vim /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
2:重启ssh服务器,让改动生效
#ubuntu
sudo service ssh restart
#centos
sudo systemctl restart sshd.service
推荐文章
