我用 ssh 做了一个多通道服务器,它说它超时了。我正在使用他们提供给我的 ipv4,并且已经安装了 openssh
3 回答
这可能是由于 IPv4 地址的变化引起的。如果您运行该multipass list
命令,您可能会发现与以下输出类似的内容。
PS C:\Users\Slhmy> multipass list
Name State IPv4 Image
dev Running 172.28.88.123 Ubuntu 20.04 LTS
172.28.95.47
运行ssh root@172.28.88.123
会遇到超时问题,但ssh root@172.28.95.47
不会。
我运行multipass shell dev
并检查图像的网络...
root@dev:/etc/network/if-up.d# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.28.95.47 netmask 255.255.240.0 broadcast 172.28.95.255
inet6 fe80::5054:ff:fe4c:d87e prefixlen 64 scopeid 0x20<link>
ether 52:54:00:4c:d8:7e txqueuelen 1000 (Ethernet)
RX packets 670 bytes 199807 (199.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 461 bytes 64486 (64.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
...
地址eth0
变了。您可以通过新的 IPv4 获得 ssh 连接,但我认为这不是一个好的尝试,因为似乎每次我重新启动dev
系统时地址都会改变。
所以正确的解决方案应该是设置一个静态 IPv4 地址或其他东西......但我不知道如何实现它。如果有人知道解决方案,请告诉我。
非常感谢。
-------------------------------------------------- ------新发现------------------------------ --------------
根据在 multipass 的存储库中添加与 SSH #1957 的集成,<instance-name>.mshome.net
如果使用 hyper-v ,则可以连接到实例。
我已经尝试过这个解决方案并为我工作。
PS。在我启动 ssh 服务之前,我更改了一些配置并使其适合我。但我认为这可能与这个问题无关,因为如果配置没有消失,ssh 应该拒绝连接。
Digital Ocean 在此处提供了有关在 Ubuntu 18.04 服务器上设置 SFTP 访问的有用指南:https ://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on- ubuntu-18-04。
我会仔细检查以下内容:
- 验证用户名和密码是否有效。Multipass 自带 ubuntu 用户,如果您添加了新用户,最好验证连接性
- 确保实例已启动(例如
multipass list
) - 验证 openssh 是否在实例上运行
希望这可以帮助您启动并运行,如果您只需要访问实例(无需复制文件),您就可以运行multipass exec machine
并且您将被放入实例内的外壳中。
PasswordAuthentication yes
您是否尝试过创建本地用户并设置/etc/ssh/sshd_config
?
如果更改了,则必须通过sudo systemctl restart sshd
或重启 SSH 服务service sshd restart