无法连接到远程Geth,connect: permission denied.

简介: 无法连接到远程Geth,connect: permission denied.我在安装了Geth节点的ubuntu服务器X上创建了一个shell脚本,在测试链中插入智能合约数据。

无法连接到远程Geth,connect: permission denied.

我在安装了Geth节点的ubuntu服务器X上创建了一个shell脚本,在测试链中插入智能合约数据。此外,我通过使用Shell脚本命令在同一服务器X上创建一个PHP文件insertscript.php。当我从命令提示符调用PHP脚本时,它会成功执行,并且数据被插入到区块链中。但是当我用CURL调用另一个服务器的PHP脚本或在浏览器中打开它时,我会看到错误:

Fatal: Unable to attach to remote geth: dial unix ///home/ubuntu/.ethereum/testnet/geth.ipc: connect: permission denied

我的shell脚本如下:

#!/bin/sh
ATTACHPARAMETER="ipc:///home/ubuntu/.ethereum/testnet/geth.ipc"
INCIDENTUUID=${1:-"photo-55697b7f4a550511448499999999"}
USERUUID=${2:-"null"}
TIMESTAMP=$3
STATUS=$4

echo $INCIDENTUUID
echo $USERUUID
echo $TIMESTAMP
echo $STATUS

geth attach $ATTACHPARAMETER << EOF

var abi = [abi definition];
var address = "addressofContract";
var mycontract = web3.eth.contract(abi).at(address);
eth.defaultAddress = eth.accounts[0];
personal.unlockAccount(eth.accounts[0],'test');

mycontract.createIncident('$INCIDENTUUID','$USERUUID',$TIMESTAMP,$STATUS,{from:eth.accounts[0],gas:1400000});
console.log("Inserted");


EOF

问题解答

这是因为你的Geth二进制文件在一个用户标识下运行,但是WebServer运行在另一个用户标识下。

你必须让geth.ipc文件可以读写到你的Web服务器上,无论是通过组访问还是在两个进程(WebServer和Geth)上使用相同的user_id。

此外,请注意,不能通过2个计算机之间的IPC(进程间通信)共享Geth访问,IPC仅在单个计算机内工作,因为它是数据共享的内核级实现。

原文《以太坊常见问题和错误》中的:

http://cw.hubwiz.com/card/c/ethereum-FAQ/1/1/21/

另外推荐几个很受欢迎全网稀缺的互动教程:

  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • python以太坊,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
  • web3j,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
相关文章
|
前端开发 JavaScript C++
打造卓越 QML 层级设计:从入门到精通(一)
打造卓越 QML 层级设计:从入门到精通
4714 1
|
Java Shell 程序员
解决:bash: syntax error near unexpected token `(‘ ...【亲测有效】
解决:bash: syntax error near unexpected token `(‘ ...【亲测有效】
11848 0
|
11月前
|
人工智能
阿里云产品十月刊来啦
阿里云百炼9款 Qwen3-VL系列新模型发布,人工智能平台 PAI 模型蒸馏功能发布,PolarDB-X v2.4.2开源生态适配升级
532 156
|
Linux API 开发者
​geth命令参数详解 1.10.4​
​geth命令参数详解 1.10.4​
620 0
|
9月前
|
存储 人工智能 搜索推荐
智能体来了:2026 AI元年,从“对话框”走向“e”的核心拐点
2026年人工智能从复杂的“聊天工具”向具备自主行动力的“智能体(AI Agent)”全面进阶。论文深度解析AI Agent如何突破对话框限制,通过感知、决策与执行的闭环,实现从辅助搜索到人类替代完成复杂任务的跨越,揭秘个人与企业在“e”时代(Execution Time)的核心生存法则。
1009 0
|
11月前
|
人工智能 自然语言处理 监控
2025年11月,中国数字人平台创新应用已成为生活多面助手
数字人正深度融入教育、医疗、金融、文旅等八大领域,重塑工作、学习与社交方式。从虚拟教师到AI医生,从智能理财到数字孪生,它们以个性化服务推动社会效率跃升。随着技术演进,数字人将从工具进化为懂人类的协作伙伴,开启人机共生新文明。
|
10月前
|
云安全 人工智能 安全
亚太厂商唯一,阿里云以应用身份服务IDaaS入选全球Gartner® Access Management 魔力象限
Gartner® 最新发布2025《Magic Quadrant™ for Access Management》报告,阿里云以云安全应用身份服务 IDaaS入选该魔力象限,成为近5年唯一入选的亚太厂商,为中国内陆、出海、国际Go China的各类企业客户,提供统一身份管理能力。
|
搜索推荐 应用服务中间件 nginx
Nginx系列教程(05) - 虚拟主机配置
Nginx系列教程(05) - 虚拟主机配置
1293 0
|
人工智能 自然语言处理 Cloud Native
🚀Bolt.diy:五分钟免费搭建个人博客,开启你的数字创作之旅!(保姆级教程)
Bolt.diy 是 Bolt.new 的一个开源版本,它提供了更高的灵活性和可定制性。通过自然语言交互,它能够简化开发流程,并提供全栈开发支持,同时允许用户进行二次开发。它就像是你的数字创作伙伴,帮你把想法变成现实。在数字化时代,拥有一个个人博客不仅是一种展示自我的方式,更是一种记录生活、分享知识、连接世界的桥梁。通过阿里云的 Bolt.diy,我仅用五分钟就搭建了一个功能齐全、美观大方的个人博客,这让我深刻感受到了技术的力量和便捷性。
1344 29