服务器用SSH秘钥对认证登录
发表于:2026-06-04 23:18:10浏览:61次
一:秘钥对认证
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
推荐文章
- Nginx正向代理和反向代理理解和实战配置
- windows下web开发安装软件记录
- thinkphp5使用ODBC Driver 18 for SQL Server报错EE certificate key too weak
- MySQL给root开启远程访问权限(MySQL 5.7或5.6)
- 对mysql数据表结构操作的简单PHP脚本
- centos宝塔面板为php7.4安装sqlsrv扩展使其支持sqlserver数据库
- PHP最小化项目使用composer搭建
- js异步编程promise 和 async+await
- PHP 项目性能分析平台搭建 (tideways + xhgui+ PHP7)
- ThinkPHP5.0.*版本 cli模式下 MySQL连接超时
