无法更改neo4j密码
Cant change neo4j password
我正在尝试通过以下命令行操作更改我的 neo4j 密码,遵循 Brent Barbata 在 this link
上的回答
curl -H "Content-Type: application/json" -XPOST -d '{"password":"new_password"}' -u neo4j:neo4j http://localhost:7474/user/neo4j/password
但是我收到以下错误
{
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "Invalid username or password."
} ]
我按照 this question
的想法尝试了这种替代方法
curl -H "Content-Type: application/json"\ -H "Authorization: Basic `echo -n 'USERNAME:OLDPASSWORD | base64`"\ -X POST -d '{"password":"NEWPASSWORD"}'\ -I http://localhost:7474/user/neo4j/password
并得到以下错误
curl: (6) Could not resolve host: Authorization
curl: (6) Could not resolve host: POST
{
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "No authentication header supplied."
} ]
这些方法有什么问题,修改密码的方法是什么?
我不想在浏览器上使用 :server change-password
。我是 运行 neo4j 3.3.5 Ubuntu 16.04
如果是初始设置密码(即首次启动服务器前):
bin/neo4j-admin set-initial-password MyNewPassWord
如果要更改密码,只需使用 login/password 连接到 cypher-shell,然后执行此查询:
CALL dbms.security.changePassword('MyNewPassWord')
我在我自己的 Neo4j 实例上试用了您的示例,但遇到了同样的错误。我从 this 源中发现了这个略有不同的命令,这对我有用。不会返回任何错误消息,它会立即更改您的密码。
curl -H "Content-Type: application/json" -H "Authorization: Basic `echo -n 'USERNAME:OLDPASSWORD' | base64`" -X POST -d '{"password":"NEWPASSWORD"}' -I http://localhost:7474/user/neo4j/password
它看起来与您问题中的第二个 curl 命令几乎完全相同 - 我的猜测是,由于行继续符和整个命令的一般混乱,有可能当您 运行 命令,其中一个命令 options/flags 在它之前或之后都没有 space,这让解释器感到困惑。这可能不言而喻,但请确保在 运行 命令之前将 USERNAME、OLDPASSWORD 和 NEWPASSWORD 占位符替换为实际值。
我正在尝试通过以下命令行操作更改我的 neo4j 密码,遵循 Brent Barbata 在 this link
上的回答curl -H "Content-Type: application/json" -XPOST -d '{"password":"new_password"}' -u neo4j:neo4j http://localhost:7474/user/neo4j/password
但是我收到以下错误
{
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "Invalid username or password."
} ]
我按照 this question
的想法尝试了这种替代方法curl -H "Content-Type: application/json"\ -H "Authorization: Basic `echo -n 'USERNAME:OLDPASSWORD | base64`"\ -X POST -d '{"password":"NEWPASSWORD"}'\ -I http://localhost:7474/user/neo4j/password
并得到以下错误
curl: (6) Could not resolve host: Authorization
curl: (6) Could not resolve host: POST
{
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "No authentication header supplied."
} ]
这些方法有什么问题,修改密码的方法是什么?
我不想在浏览器上使用 :server change-password
。我是 运行 neo4j 3.3.5 Ubuntu 16.04
如果是初始设置密码(即首次启动服务器前):
bin/neo4j-admin set-initial-password MyNewPassWord
如果要更改密码,只需使用 login/password 连接到 cypher-shell,然后执行此查询:
CALL dbms.security.changePassword('MyNewPassWord')
我在我自己的 Neo4j 实例上试用了您的示例,但遇到了同样的错误。我从 this 源中发现了这个略有不同的命令,这对我有用。不会返回任何错误消息,它会立即更改您的密码。
curl -H "Content-Type: application/json" -H "Authorization: Basic `echo -n 'USERNAME:OLDPASSWORD' | base64`" -X POST -d '{"password":"NEWPASSWORD"}' -I http://localhost:7474/user/neo4j/password
它看起来与您问题中的第二个 curl 命令几乎完全相同 - 我的猜测是,由于行继续符和整个命令的一般混乱,有可能当您 运行 命令,其中一个命令 options/flags 在它之前或之后都没有 space,这让解释器感到困惑。这可能不言而喻,但请确保在 运行 命令之前将 USERNAME、OLDPASSWORD 和 NEWPASSWORD 占位符替换为实际值。