[版本1.9.0及之后]
在让命令完成之前, Multipass需要客户端授权服务.
内容:
客户端授权Multipass服务的话, 需要管理员设置口令短语. 设置口令短语的客户端需要先授权. 有2种方式设置口令短语.
在无响应且输入内容是隐藏的交互式输入框设置口令短语:
$ multipass set local.passphrase
Please enter passphrase:
Please re-enter passphrase:
一行命令设置口令短语时是可见的:
$ multipass set local.passphrase=foo
未授权的连接到Multipass服务的客户端, 在执行multipass
命令时会失败. 当这种情况发生时会显示错误. 例如:
$ multipass list
list failed: The client is not authenticated with the Multipass service.
Please use 'multipass authenticate' before proceeding.
这时候, 客户端需要提供之前设置好的口令短语. 有2种方式处理.
在无响应且输入内容是隐藏的交互式输入框设置口令短语:
$ multipass authenticate
Please enter passphrase:
一行命令设置口令短语时是可见的:
$ multipass authenticate foo
可能的情况是, 另一个已授权的客户端首先连接到Multipass端口, 导致无法设置local.passphrase
, 也无法authorize
(授权)客户端服务. 你可能会看到如下情况:
$ multipass list
list failed: The client is not authenticated with the Multipass service.
Please use 'multipass authenticate' before proceeding.
$ multipass authenticate
Please enter passphrase:
authenticate failed: Passphrase is not set. Please `multipass set local.passphrase` with a trusted client.
$ multipass set local.passphrase
Please enter passphrase:
Please re-enter passphrase:
set failed: The client is not authenticated with the Multipass service.
Please use 'multipass authenticate' before proceeding.
这样看起来好像无法授权客户端连接服务. 即使使用sudo
可能也不起作用.
下面这种变通办法可能帮你摆脱这种情况:
$ cat ~/snap/multipass/current/data/multipass-client-certificate/multipass_cert.pem | sudo tee -a /var/snap/multipass/common/data/multipassd/authenticated-certs/multipass_client_certs.pem > /dev/null
$ snap restart multipass
这时, 你的客户端应该已经被授权连接到Multipass服务.