我有一个远程 Ubuntu 设备,我希望能够在它启动后通过远程桌面进入它。
因此,我进入设置/共享,系统要求我指定一个密码来打开密钥环,启用远程桌面,启用“启用传统 VNC 协议”,启用“远程控制”,将身份验证从自动生成的密码更改为我能记住的密码,然后我就可以获得远程连接remmina
。
然后我重新启动,尝试远程连接 - 无连接(BIO_read returned a system error 104: Connection reset by peer
);然后我进入共享 - 当我进入共享时,我再次被问及那个“密钥环”密码- 一旦我这样做,我就可以连接remmina
,但我无法登录,因为“身份验证”下的密码被再次更改为随机内容。
Reddit 上类似的问题:https://www.reddit.com/r/Ubuntu/comments/13zjqgb/please_help_pulling_my_hair_out_with_trying_to/
我该如何防止这种随机更改并保留我的密码?
答案1
正如所提到的Ubuntu 22.04 远程桌面无头?:
gnome-remote-desktop 似乎作为用户服务运行,而不是系统服务,因此,除非用户登录,否则它不会处于活动状态。并且它在密钥环解锁之前启动,因此每次启动时都会创建一个新密码。
于是我抬头一看gnome-remote-desktop
,发现https://wiki.gnome.org/Projects/Mutter/RemoteDesktop-> 然后从那里,https://www.mankier.com/1/grdctl
启动后,此工具确认正在gnome-remote-desktop
运行:
$ grdctl status
RDP:
Status: enabled
TLS certificate: /home/user/.local/share/gnome-remote-desktop/rdp-tls.crt
TLS key: /home/user/.local/share/gnome-remote-desktop/rdp-tls.key
View-only: no
Username: (empty)
Password: (empty)
VNC:
Status: enabled
Auth method: prompt
View-only: no
Password: (empty)
...所以我猜问题出在钥匙圈上。
我已经尝试过unlock-keyring
来自https://unix.stackexchange.com/questions/602313/unlock-gnome-keyring-daemon-from-command-line/676655#676655; 它不起作用
然后我尝试.config/autostart/password_fix.desktop
了Ubuntu 22.04 远程桌面无头?-> 这实际上确实有效,但是在启动后,您会收到一个提示,要求您输入密码来解锁密钥环,而且由于这是一台没有键盘或鼠标的电脑,所以每次都这样做很麻烦;但至少,一旦完成,我就可以通过 RDP 获得带有我期望的登录名和密码的远程连接。
所以最后的事情是——如何在启动时摆脱密钥环密码提示;https://unix.stackexchange.com/questions/684412/is-it-possible-to-permanently-disable-the-gnome-keyring-passphrase笔记:
解决此问题的部分方法是将密钥环密码设置为空字符串,方法是打开密码和密钥应用程序(在搜索栏中输入密钥环),然后使用如下菜单:...
但这不是一个很好的解决方案,因为密钥环密码不断被重置,你必须重复同样的过程。我不确定这是否发生在某些重启时,或者在有更新时。
因此,空白密码实际上也不是一个选择 - 但最终,我得到了这个:
(
.config/autostart/password_fix.desktop
如果使用,请从上面删除/禁用)unlock_keyring.sh
复制脚本https://unix.stackexchange.com/questions/602313/unlock-gnome-keyring-daemon-from-command-line/602935#602935在远程 PC 上;请注意,上面写着:“注意:此脚本仅通过源或启动时才会起作用。”
远程 PC 重新启动后,通过 登录ssh
,然后:
- 通过采购致电
unlock_keyring.sh
:
$ . unlock_keyring.sh
NOTE: This script will only work if launched via source or .
Login password:
$
- 调用
python3
命令,原来在.config/autostart/password_fix.desktop
:
$ python3 -c "import keyring;keyring.set_password('login','user','Remmina_Password');"
$
此时,我可以通过 Remmina/RDP 登录到远程 PC - 无需执行任何 GUI 操作...