Linux设置密钥登录
使用密钥登录分为以下步骤:
1、生成密钥(公钥与私钥)
2、放置公钥(Public Key)到服务器指定用户目录的 .ssh/authorized_key文件中;
3、配置SSH客户端使用密钥登录。
4、测试密钥登陆成功后关闭密码登录。【可选】
1.生成密钥
cd /root/.ssh #进入指定用户的.ssh目录 ssh-keygen -t rsa
[root@springcore .ssh]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): #### 要设置密码的话 就在这里输入【可直接为空跳过】 Enter same passphrase again: #### 重复输入密码 Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:syK0IidyNKGBvLWCLYBIxP3bqthqeBWr/ehCuGwU8WQ root@springcore The key's randomart image is: +---[RSA 3072]----+ |oo. | |*o E | |*.*.. | |o=ooo. | |++=..oo S | |.+oooo . o | |Bo++o o . | |+O*..+ . | |o+.=+.. | +----[SHA256]-----+
执行后会生成id_rsa和id_rsa.pub两个文件,id_rsa是私钥(重要,不能外泄),id_rsa.pub是公钥。
2.放置公钥(Public Key)到服务器指定用户目录的 .ssh/authorized_key文件中
1.查看authorized_key文件是否存在,不存在则创建并赋予600权限
touch authorized_keys chmod 600 ./authorized_keys
2.将公钥内容追加到authorized_keys文件中。
cat id_rsa.pub >> authorized_keys
3.为了确保连接成功,赋予.ssh文件夹700权限
chmod 700 ~/.ssh ###修改为指定用户的ssh目录,这里以root用户为例
3、配置SSH客户端使用密钥登录。
1.修改SSH配置
vi /etc/ssh/sshd_config
修改以下配置项
## 开启私钥登录[RSAAuthentication (rsa认证)是只支持第一代SSH通讯协议使用的配置项,在CentOS7.3之后的版本中被废除了,因为默认使用第二代协议了] RSAAuthentication yes ## 开启 公私钥登录认证 PubkeyAuthentication yes ## root 用户能否通过 SSH 登录 PermitRootLogin yes ## 添加 公钥的保存文件 AuthorizedKeysFile .ssh/authorized_keys
2.刷新SSH服务
service sshd restart
4、测试密钥登陆成功后关闭密码登录。【可选】
1.修改SSH配置
vi /etc/ssh/sshd_config
修改以下配置项
PasswordAuthentication no
2.刷新SSH服务
service sshd restart
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/17015252.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!