Ho impostato una VM del server Ubuntu, ho installato OpenSSH, e ora sto cercando di connettermi ad essa usando Putty. All'interno di Putty, sotto "Host name", ho messo "Ubuntu", dato che è come pensavo si chiamasse quando ho impostato la VM. Tuttavia, ottengo solo l'errore: "Connection Timed Out".
Ho anche provato a mettere "127.0.0.1" nel nome dell'host in Putty e ottengo solo "Connection Refused". Si noti che ho fatto il port forwarding per SSH e HTTP all'interno di Oracle VM, quindi sono in perdita su come farlo funzionare.
VirtualBox creerà una rete privata (10.0.2.x) che sarà collegata alla tua rete host usando NAT. (A meno che non sia configurato diversamente).
Questo significa che non è possibile accedere direttamente a qualsiasi host della rete privata dalla rete host. Per farlo, hai bisogno di un port forwarding. Nelle preferenze di rete della tua VM puoi, per esempio, configurare VirtualBox per aprire la porta 22 su 127.0.1.1 (un indirizzo loopback del tuo host) e inoltrare qualsiasi traffico alla porta 22 di 10.0.2.1 (l'indirizzo interno della tua VM)
In questo modo, puoi puntare Putty alla porta 22 di 127.0.1.1 e VirtualBox reindirizzerà questa connessione alla tua VM dove il suo demone ssh risponderà, permettendoti di accedere.
Volevo usare putty per connettermi al mio ubuntu su scatola virtuale (motivi di comodità, il VB è proprio strano. Non posso lavorare se non è su un terminale adeguato). Comunque,
sudo apt install ssh
.Impostazioni
->
Rete`->
su Adattatore 1
scegli Adattatore solo host
->clicca OK
.ifconfig
; ora l'indirizzo inet è il tuo IP.L'unico svantaggio di usare l'adattatore host-only è che il tuo sistema operativo ospite non avrà accesso alla rete più ampia (ad esempio Internet).
Se hai anche bisogno che la tua VM abbia accesso a internet, lascia l'adattatore 1 come NAT e attiva l'adattatore 2, configurato come adattatore Host-Only. Questo permetterà alla tua VM di connettersi a internet usando NAT così come fare una connessione locale al tuo Host usando Host-Only.
Per prima cosa devi decidere se la tua VM è connessa alla tua macchina host tramite una connessione bridge o tramite un NAT, ma in entrambi i casi dovrai mettere l'indirizzo IP della VM in Putty per essere in grado di connetterti a ip, nel terminale della VM esegui questo comando per mostrarti l'indirizzo IP della macchina (e no 127.0.0.1 non è l'indirizzo IP della macchina)
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
in questo caso il mio indirizzo IP sarà 10.0.2.15,
Per prima cosa cerca di assicurarti di poter comunicare ad un livello base con la VM, apri una finestra di terminale sul tuo host e prova a fare un ping alla VM
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
Se ottieni il risultato di una formica, allora assicurati di avere un servizio ssh in esecuzione sulla VM, nel terminale della tua VM scrivi come root,
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
Questo significa che abbiamo un servizio/processo con PID(2361) chiamato sshd (OpenSSH daemon) in ascolto sulla porta 22.
Puoi testare se il servizio funziona correttamente provando a collegarti ad esso con ssh dalla VM stessa,
VM # ssh 127.0.0.1
Poi devi assicurarti che non stai bloccando la porta 22 nel tuo firewall/iptables, non ci credo, ma controlla comunque. Nella VM digitate questo comando per mostrarvi l'iptables,
VM # iptables -nvL INPUT
nell'output dovresti avere una linea come questa:
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW