我已经建立了一个Ubuntu服务器的虚拟机,安装了OpenSSH,现在正试图用Putty连接到它。在Putty中,在"主机名"下,我输入了"Ubuntu",因为这是我在设置虚拟机时认为它的名字。然而,我只得到一个错误:"连接超时"。
我还试着把"127.0.0.1"放到Putty的主机名中,但只得到"连接拒绝"。请注意,我已经在Oracle VM中为SSH和HTTP做了端口转发,所以我不知道如何让它运行。
我想用putty连接到我在虚拟盒上的ubuntu(舒适的原因,VB只是奇怪。除非是在一个合适的终端上,否则我无法工作)。 无论如何。
1.确保你的Linux上安装了ssh客户端。如果没有,安装它 sudo apt install ssh
。
2.关闭操作系统的电源。
3.现在在你的VB上进入设置
->`网络
->在
适配器1上选择
纯主机适配器->点击
OK。 4.现在启动你的操作系统。运行
ifconfig`;现在inet地址是你的IP。
5.使用这个并在你的putty上运行它。用你的凭证登录。
使用纯主机适配器的唯一缺点是,你的客人操作系统不能访问更广泛的网络(如互联网)。
如果你也需要你的虚拟机访问互联网,请将适配器1设为NAT,并启用适配器2,将其配置为仅用于主机的适配器。这将允许你的虚拟机使用NAT连接到互联网,并使用Host-Only与你的主机建立本地连接。
首先,你需要确定你的虚拟机是通过桥接还是通过NAT连接到主机的,但无论如何,你需要把虚拟机的IP地址放到putty中,以便能够连接到IP,在虚拟机终端运行这个命令,显示机器的IP地址 (127.0.0.1不是机器的IP地址)
VM # ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
valid_lft forever preferred_lft forever
在这种情况下,我的IP地址将是10.0.2.15。
首先要确保你能与虚拟机进行基本的通信,在你的主机上打开一个终端窗口,并尝试PING虚拟机
HOST # ping 10.0.2.15
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms
如果你得到蚂蚁的结果,那么确保你有一个ssh服务在虚拟机上运行,在你的虚拟机的终端上以root身份输入。
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
这说明我们有一个PID(2361)为sshd(OpenSSH daemon)的服务/进程在监听端口22。
你可以通过尝试从虚拟机上ssh到它来测试该服务是否正常工作。
VM # ssh 127.0.0.1
接下来,你要确保你的防火墙/iptables中没有屏蔽22号端口,我不相信,但还是要检查一下。在虚拟机中输入这个命令,以显示iptables。
VM # iptables -nvL INPUT
在输出中你应该有像这样的一行。
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW