linux怎么创建本机免秘钥登录

发布时间:2021-07-09 17:17:45 作者:chen
来源:亿速云 阅读:177
# Linux怎么创建本机免秘钥登录

在Linux系统中,通过配置SSH免秘钥登录可以大幅提升本地或远程管理的效率。本文将详细介绍如何在**本机**实现免秘钥登录(即本地用户无需密码切换身份),适用于`sudo`操作或`su`切换场景。

---

## 原理说明
免秘钥登录的核心是**公钥认证**:
1. 用户生成一对密钥(公钥+私钥)
2. 将公钥写入目标用户的`~/.ssh/authorized_keys`文件
3. 当SSH或本地认证时,系统通过密钥对自动验证身份

---

## 操作步骤

### 1. 生成SSH密钥对
```bash
ssh-keygen -t rsa -b 4096 -C "本地免密登录"

按提示操作(建议直接回车使用默认路径,不设置密码)

生成的文件默认位于: - 私钥:~/.ssh/id_rsa - 公钥:~/.ssh/id_rsa.pub

2. 配置公钥到目标用户

情况A:当前用户免密sudo

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

情况B:其他用户免密切换(如root)

# 将公钥复制到目标用户目录
sudo mkdir -p /root/.ssh
sudo sh -c "cat ~/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys"
sudo chmod 600 /root/.ssh/authorized_keys

3. 修改SSH配置(可选)

编辑/etc/ssh/sshd_config确保以下配置:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启服务:

sudo systemctl restart sshd

验证配置

# 测试当前用户免密登录
ssh localhost

# 测试切换到root(无需密码)
sudo -i
或
su - root

注意事项

  1. 权限安全
    • ~/.ssh目录权限应为700
    • authorized_keys文件权限应为600
  2. 多用户场景: 每个用户需要单独配置自己的authorized_keys
  3. 故障排查
    • 查看日志:tail -f /var/log/auth.log
    • 调试SSH:ssh -v localhost

扩展应用

  1. 脚本自动化:在Ansible等自动化工具中广泛使用
  2. 远程备份:配合crontab实现定时免密备份
  3. 容器管理:在Docker容器内快速配置管理权限

通过以上步骤,你可以实现高效安全的本地免密认证,特别适合需要频繁执行特权命令的场景。 “`

推荐阅读:
  1. linux使用Python上秘钥远程登录ssh执行shell
  2. ssh基于秘钥的登陆机制

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:java如何获取图片分辨率

下一篇:php 中php-fpm的工作原理是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》