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

ssh 远程服务器,permission deny

这个报错是权限被拒绝(Permission denied),核心原因是 Jenkins 运行用户(如jenkins)在通过 SSH/SCP 连接生产服务器时,认证失败(密码错误、SSH 密钥未配置,或生产服务器的root用户禁止远程登录)。

解决步骤(按优先级)

1. 检查生产服务器的root用户是否允许 SSH 登录

生产服务器默认可能禁止root用户远程 SSH 登录,需先开启:

  • 登录生产服务器,编辑 SSH 配置文件:

    bash

    运行

    vi /etc/ssh/sshd_config
  • 找到并修改以下配置:

    ini

    PermitRootLogin yes # 改为yes(默认可能是no或prohibit-password) PasswordAuthentication yes # 若用密码登录,需开启(默认可能是no)
  • 重启 SSH 服务:

    bash

    运行

    systemctl restart sshd
2. 配置 SSH 免密登录(推荐,避免密码错误)

手动在 Jenkins 服务器上配置jenkins用户到生产服务器的SSH 免密登录

  1. 在 Jenkins 服务器上,切换到jenkins用户:

    bash

    运行

    su - jenkins
  2. 生成 SSH 密钥对(一路回车,不设密码):

    bash

    运行

    ssh-keygen -t rsa
  3. 将公钥复制到生产服务器的root用户目录:

    bash

    运行

    ssh-copy-id root@生产服务器IP
    • 执行时会提示输入生产服务器的root密码,输入后公钥会自动写入/root/.ssh/authorized_keys
  4. 测试免密登录:

    bash

    运行

    ssh root@生产服务器IP
    若无需输入密码直接登录,则免密配置成功。
3. 若必须用密码登录,在 SCP 命令中显式指定密码(不推荐)

如果无法配置免密,可借助sshpass工具在 SCP 命令中传递密码(需先安装sshpass):

  1. 在 Jenkins 服务器安装sshpass

    bash

    运行

    # CentOS/RHEL yum install -y sshpass # Ubuntu/Debian apt-get install -y sshpass
  2. 修改 SCP 命令,添加密码参数:

    bash

    运行

    sshpass -p "生产服务器root密码" scp "${jenkins_jar_path}" root@${prod_server_ip}:${prod_jar_path}
4. 检查生产服务器目标目录的权限

确保生产服务器上的${prod_jar_path}目录(如/opt/app)有root用户的写入权限:

bash

运行

# 在生产服务器执行 chmod 755 /opt/app # 确保目录可写

关键总结

  1. 核心问题是Jenkins 用户到生产服务器的 SSH 认证失败,优先配置SSH 免密登录(安全且自动化友好);
  2. 若用密码登录,需确保生产服务器开启root远程登录和密码认证;
  3. 最后检查目标目录权限,避免上传后无法写入。

执行上述步骤后,重新构建即可解决Permission denied的问题。

http://www.cnnetsun.cn/news/596400.html

相关文章:

  • 想要高效改写文本?这十大高质量降重网站均支持免费试用,并运用AI智能技术提升改写效果
  • 【字符编码】UTF编码、字节序
  • Python系列Bug修复|如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘torchaudio’ 问题
  • 企业级CI/CD工具选型:Jenkins vs Tekton vs Arbess
  • 什么是PoE
  • 什么是PPP协议
  • 大数据与边缘计算:半结构化数据的分布式处理
  • 这十大降重平台凭借AI智能改写功能脱颖而出,并提供免费试用,满足用户对高质量文本的需求
  • SolidWorks许可证需求精准预测与容量优化规划方法论
  • 制造业ERP系统选型指南:适配全链路运营的数字化决策框架
  • 制造业ERP系统对比分析:7款主流产品的适配性与核心价值
  • 超细整理,python自动化测试面试题汇总(附答案)
  • ChatGPT与DeepSeek从入门到精通:大语言模型最新进展、提示词高级技巧、论文写作全流程、机器学习建模、深度学习应用、数据可视化、代码自动生成与优化等
  • css浮动
  • 通义深度搜索-生成对话
  • 刚入行Java如何快速提升自己的实力,让自己更有竞争力?
  • 【数据集】美国白宫赢学指数数据集(2025.1.20-2026.1.07)
  • 智能销售管理软件助力企业获客与销售业绩提升
  • 《自然·通讯》新研究:集成光学相控阵实现全固态、多目标高速光通信
  • 大模型实践(四):如何在Dify上利用工作流快速构建出一个基于用户意图识别以及RAG知识库检索增强的智能聊天机器人?
  • MLGO微算法科技通过高阶方法和重新缩放进一步改进非线性微分方程的量子算法
  • 我们不是卖产品,而是在交付一种人生的意义
  • 大厂面试必看!这三步快速吃透业务,拿满面试分!
  • 档案保存环境优化:温湿度精准感知与智能调控系统实施方案
  • 深度学习:python老照片修复系统 卷积神经网络CNN算法 图片修复 深度学习 Django框架 pytorch 大数据毕业设计(建议收藏)
  • 产线级MES系统如何实现生产进度的实时监控?
  • 基于微信小程序的日常活动记录系统-计算机毕业设计源码+LW文档免费
  • 基于微信小程序的网络安全知识科普平台-计算机毕业设计源码+LW文档免费
  • 【珍藏】大模型意图识别在智能电视中的落地实践:三种方案对比与7B模型微调实战指南
  • 收藏!应届生刚毕业就年薪百万?35+程序员稳拿高薪的核心密码