0

ファイアウォールでポート 1337、7474、7473 が開いているサーバーに Neo4j 2.3.2 をインストールしました (を使用して確認ncat)。Web ベースのコンソールにリモートでアクセスでき、ローカルでシェルにアクセスできますが、シェルにリモートでアクセスできません。つまり、実行するpath/to/neo4j-shell -v -host destination.example.orgと取得します

ERROR (-v for expanded information):
        Connection refused
java.rmi.ConnectException: Connection refused to host: <server ip addres>; nested exception is: 
        java.net.ConnectException: Verbinding is geweigerd
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
        at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
        at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
        at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
        at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
        at com.sun.proxy.$Proxy1.welcome(Unknown Source)
        at org.neo4j.shell.impl.AbstractClient.sayHi(AbstractClient.java:257)
        at org.neo4j.shell.impl.RemoteClient.findRemoteServer(RemoteClient.java:70)
        at org.neo4j.shell.impl.RemoteClient.<init>(RemoteClient.java:62)
        at org.neo4j.shell.impl.RemoteClient.<init>(RemoteClient.java:45)
        at org.neo4j.shell.ShellLobby.newClient(ShellLobby.java:204)
        at org.neo4j.shell.StartClient.startRemote(StartClient.java:355)
        at org.neo4j.shell.StartClient.start(StartClient.java:226)
        at org.neo4j.shell.StartClient.main(StartClient.java:145)
Caused by: java.net.ConnectException: Verbinding is geweigerd
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:579)
        at java.net.Socket.connect(Socket.java:528)
        at java.net.Socket.<init>(Socket.java:425)
        at java.net.Socket.<init>(Socket.java:208)
        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
        ... 14 more

/var/lib/neo4j/conf/neo4j.properties、私は持っています

# Enable shell server so that remote clients can connect via Neo4j shell.
remote_shell_enabled=true
# The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces).
remote_shell_host=0.0.0.0
# The port the shell will listen on, default is 1337.
remote_shell_port=1337

上記の 3 つ以外のポートを開く必要がありますか? 見逃したシェルに関連するその他の構成はありますか?

4

1 に答える 1

2

neo4j-shellJava RMI に基づいています。RMI のファイアウォールを行う方法を説明しているリソースがいくつかあります。実際、RMI は動的なポート割り当てを行っているため、かなり複雑です。

通常、私neo4j-shellは ssh 接続を介してローカルで実行します。これにより、認証と暗号化も提供されます。SSH ポートを開くだけで済みます。

于 2016-02-10T14:41:26.410 に答える