当前位置: 首页 > news >正文

设置linux公钥,私钥登录ssh登录

步骤 1:本地生成 SSH 密钥对(若未生成)

禁用前设置一个正常的用户登录

 首先,新创建用户并且自动生成家目录

# 创建用户并自动创建家目录
sudo useradd -m newuser# (可选)设置密码(若后续仅用密钥登录,可跳过)
sudo passwd newuser# (可选)赋予 sudo 权限(根据需求决定)
sudo usermod -aG sudo newuser

其次将生成好的公钥主备好(一般使用步骤  2)

# 切换到新用户家目录
cd /home/newuser# 创建 .ssh 目录并设置权限(关键:权限必须正确,否则 SSH 会拒绝)
sudo mkdir -p .ssh
sudo chmod 700 .ssh  # 仅所有者可读写执行
sudo chown -R newuser:newuser .ssh  # 确保归属新用户# 将公钥内容写入 authorized_keys
# 方法1:如果公钥在本地,通过 scp 上传后追加
sudo cat /path/to/newuser.pub >> .ssh/authorized_keys# 方法2:直接手动输入公钥(按 Ctrl+D 结束输入)
sudo nano .ssh/authorized_keys  # 粘贴公钥内容后保存# 设置 authorized_keys 权限(关键)
sudo chmod 600 .ssh/authorized_keys  # 仅所有者可读写
sudo chown newuser:newuser .ssh/authorized_keys

测试登录

# 假设私钥文件为 newuser_private_key
ssh -i /path/to/newuser_private_key newuser@服务器IP

 首先,新创建用户并且自动生成家目录

# 创建用户并自动创建家目录
sudo useradd -m newuser# (可选)设置密码(若后续仅用密钥登录,可跳过)
sudo passwd newuser# (可选)赋予 sudo 权限(根据需求决定)
sudo usermod -aG sudo newuser

其次将生成好的公钥主备好(一般使用步骤  2)

# 切换到新用户家目录
cd /home/newuser# 创建 .ssh 目录并设置权限(关键:权限必须正确,否则 SSH 会拒绝)
sudo mkdir -p .ssh
sudo chmod 700 .ssh  # 仅所有者可读写执行
sudo chown -R newuser:newuser .ssh  # 确保归属新用户# 将公钥内容写入 authorized_keys
# 方法1:如果公钥在本地,通过 scp 上传后追加
sudo cat /path/to/newuser.pub >> .ssh/authorized_keys# 方法2:直接手动输入公钥(按 Ctrl+D 结束输入)
sudo nano .ssh/authorized_keys  # 粘贴公钥内容后保存# 设置 authorized_keys 权限(关键)
sudo chmod 600 .ssh/authorized_keys  # 仅所有者可读写
sudo chown newuser:newuser .ssh/authorized_keys

测试登录

# 假设私钥文件为 newuser_private_key
ssh -i /path/to/newuser_private_key newuser@服务器IP

禁用服务器密码登录(核心步骤)

  1. 登录服务器,编辑 SSH 配置文件:

    sudo vim /etc/ssh/sshd_config  # Ubuntu/Debian 或 CentOS 通用
    
  2. 找到并修改以下配置(若不存在,直接添加):

    PasswordAuthentication no  # 禁用密码登录
    PubkeyAuthentication yes   # 允许公钥登录(默认开启,确认即可)
    ChallengeResponseAuthentication no  # 禁用挑战响应认证(如密码问答)
    
    • 注意:确保 PermitRootLogin 配置(若允许 root 登录,需设置为 PermitRootLogin prohibit-password 或 yes,但推荐禁用 root 直接登录,用普通用户 + sudo 管理)。
  3. 保存文件并退出(Esc → :wq)。

  4. 重启 SSH 服务使配置生效:

    • Ubuntu/Debian:sudo systemctl restart sshd
    • CentOS/RHEL:sudo systemctl restart sshd
    • 旧系统可能用:sudo service ssh restart 或 sudo /etc/init.d/ssh restart

步骤 5:再次验证(关键!防止锁死)

务必保持当前 SSH 连接不变,新开一个本地终端,尝试用私钥登录服务器:

ssh 用户名@服务器IP
  • 若能登录,说明配置成功,密码登录已被禁用。
  • 若登录失败,立即在原连接中修改 sshd_config 恢复配置(如将 PasswordAuthentication 改回 yes),重新重启服务排查问题。

    步骤 5:再次验证(关键!防止锁死)

    务必保持当前 SSH 连接不变,新开一个本地终端,尝试用私钥登录服务器:

    ssh 用户名@服务器IP
    
  • 若能登录,说明配置成功,密码登录已被禁用。
  • 若登录失败,立即在原连接中修改 sshd_config 恢复配置(如将 PasswordAuthentication 改回 yes),重新重启服务排查问题。

root 用户修改其他用户的密码(无需知道原密码)

如果以 root 用户登录,或当前用户有 sudo 权限,可以直接修改其他用户的密码:

sudo passwd 用户名  # 例如:sudo passwd john

直接输入两次新密码即可(无需原密码),格式同上。

新增ssh用户

首先,新创建用户并且自动生成家目录

# 创建用户并自动创建家目录
sudo useradd -m newuser# (可选)设置密码(若后续仅用密钥登录,可跳过)
sudo passwd newuser# (可选)赋予 sudo 权限(根据需求决定)
sudo usermod -aG sudo newuser

其次将生成好的公钥主备好(一般使用步骤  2)

# 切换到新用户家目录
cd /home/newuser# 创建 .ssh 目录并设置权限(关键:权限必须正确,否则 SSH 会拒绝)
sudo mkdir -p .ssh
sudo chmod 700 .ssh  # 仅所有者可读写执行
sudo chown -R newuser:newuser .ssh  # 确保归属新用户# 将公钥内容写入 authorized_keys
# 方法1:如果公钥在本地,通过 scp 上传后追加
sudo cat /path/to/newuser.pub >> .ssh/authorized_keys# 方法2:直接手动输入公钥(按 Ctrl+D 结束输入)
sudo nano .ssh/authorized_keys  # 粘贴公钥内容后保存# 设置 authorized_keys 权限(关键)
sudo chmod 600 .ssh/authorized_keys  # 仅所有者可读写
sudo chown newuser:newuser .ssh/authorized_keys

测试登录

# 假设私钥文件为 newuser_private_key
ssh -i /path/to/newuser_private_key newuser@服务器IP

http://www.dtcms.com/a/549143.html

相关文章:

  • html的网站案例wordpress文章彩色字体
  • set/map刷力扣题/(哈希表+排序类型)仿函数和捕获-两种方法解决
  • 基于单片机与 DeepSeek-OCR 的盲人辅助阅读器设计与实现
  • 淘客网站cms怎么做肥乡专业做网站
  • 【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
  • 自动驾驶中的传感器技术76——Navigation(13)
  • 鸿蒙Flutter三方库适配指南: 05.使用Windows搭建开发环境
  • 律所网站建设方案书怎么写网站制作排名优化
  • 谷歌网站排名搭建一个平台要多少钱
  • 使用Node.js连接 OPC UA Server
  • h5游戏免费下载:保护堆芯
  • 怎么看网站关键词排名恩施网站制作
  • Jenkins 持续集成与部署
  • 企业查询网站有哪些深圳工业产品设计公司
  • 解析平面卷积/pytorch的nn.Conv2d的计算步骤,in_channels与out_channels如何计算而来
  • 医疗器械经营许可证识别技术通过OCR与AI技术实现资质信息自动提取,显著提升行业效率与合规管理水平
  • Lombok 不生效 —— 从排查到可运行 Demo(含实战解析)
  • 【自然语言处理】预训练02:近似训练
  • 具身智能革命:富唯智能如何用“认知机器人”重塑柔性智造新纪元
  • 孤能子视角:文明演化的适配性考验——从EIS理论看中美技术路径分野
  • itunes礼品卡兑换【完整协议方案】
  • High Rank Adaption系列文章
  • wordpress 网站迁移如何做网站霸屏
  • Rust 中 Raft 协议的云原生深度集成与实践最佳实践
  • html css js网页制作成品——掌心电视剧HTML+CSS网页设计(4页)附源码
  • 基于用户的协同过滤算法实现小说推荐算法
  • 速卖通新客优惠券采购:砍单率高的核心原因
  • 【11408学习记录】考研数学概率论核心突破:一维随机变量函数分布——公式法 分布函数法精讲!​
  • Flutter 网络通信协议:从原理到实战,选对协议让 APP 飞起来
  • 【机器学习入门】9.2:感知机的工作原理 —— 从模型结构到实战分类