VirtualBox仅在登录本地用户后才允许SSH通过NAT


0
  • VirtulBox:6.0
  • 主持人:Arch Linux
  • 访客:Ubuntu 16.04.5 LTS
  • SSH服务器:OpenSSH_7.2p2

我配置端口转发:guest 22 -> host localhost:2022。身份验证方法仅是“ publickey”。

启动虚拟机时,我可以以root用户身份连接,但不能以本地用户身份连接:

  • ssh -p 2022 root@localhost ->成功
  • ssh -p 2022 user@localhost - > user@localhost: Permission denied (publickey).

如果我在VM的窗口中登录,则允许用户使用ssh。但是,如果我在VM窗口中注销,则将拒绝用户的新ssh连接。

启动VM后如何允许用户连接(在窗口中没有本地登录)?


是的。谢谢!发表您的评论作为答案,我将选择它。
petrikoz

Answers:


0

user的主目录可能~/.ssh/authorized_keys已加密;本地登录的用户使其可读。

在Unix&Linux SE上存在一个问题:无法在加密home下进行SSH公钥登录。从那里:

ssh_config文件中,您可以更改查找私钥的位置。您可能会做一些类似的操作,例如在新建一个文件夹,/etc/ssh/keys/然后将id_rsa私钥文件放入其中,然后更改IdentityFile选项ssh_config以查找新位置。为此,您需要采取某些措施来保护您的私钥。

这是假设您是计算机的唯一用户。如果没有,你可以像文件夹/etc/ssh/keys/john//etc/ssh/keys/dogbert/,然后在IdentityFile选项放/etc/ssh/keys/%u/id_rsa

但是也:

但是,如果您的加密技术将您的密码用作解密所有内容的密钥,则仍然必须键入密码才能解密所有内容。

因此,真正的无密码登录将无法在这里工作(除非您希望将密码存储在明文形式的某个地方,以便自动将其送入解密过程,但这甚至比完全不加密更不安全)。

[...]

Ubuntu在登录时使用ecryptfs挂载加密分区(因此,当您提供密码时)[…]。[在没有密码的情况下通过SSH登录后],您的主文件夹将不会自动解密。要以未加密的方式安装它,您必须在每次登录时都输入以下内容:

/sbin/mount.ecryptfs_private

它将再次询问您的登录密码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.