Jak mogę uzyskać adres mojej lokalnej maszyny?

13

Jestem na MacBooku z systemem Lion. W Terminaljestem połączony z serwerem mojej szkoły ssh. Po przejściu do folderu na serwerze mam plik, który chcę skopiować na komputer lokalny, ale nie wiem, jaki jest adres IP mojego komputera lokalnego. Jak mogę to dostać? Jestem w folderze na serwerze i chcę skopiować read.txtna dysk twardy mojego komputera lokalnego. Próbowałem, scp ./read.txt [my computer name].local/newRead.txtale to nie działa.

Marty
źródło

Odpowiedzi:

17

Nie musisz znać adresu IP swojego hosta, aby kopiować na niego pliki. Po prostu użyj, scpaby skopiować plik ze zdalnego hosta:

$ scp [email protected]:path/to/read.txt ~/path/to/newRead.txt

Jeśli chcesz skopiować na komputer lokalny ze zdalnego hosta, uzyskaj własny adres IP ifconfigi wydaj następujące polecenie:

$ scp path/to/read.txt [email protected]:path/to/newRead.txt

gdzie 1.2.3.4jest twój lokalny adres IP. Wygodnym sposobem na wyodrębnienie adresu IP hosta jest użycie tej funkcji:

ipaddr() { (awk '{print $2}' <(ifconfig eth0 | grep 'inet ')); }

gdzie eth0jest twój interfejs sieciowy. Przyklej go ~/.bash_profile, aby uruchomić jako zwykłe polecenie - ipaddr.


źródło
1
Co się stanie, jeśli polecenie zwróci „ifconfig: interfejs eth0 nie istnieje”?
kolistivra,
1
@kolistriva Spróbuj „en0”.
Lyle,
6

Wystarczy dodać do odpowiedzi, łatwym sposobem na podanie adresu (ip / domain), jest ssh na komputerze, na którym możesz ssh, wyjść, a następnie ssh z powrotem do niego. W większości przypadków zobaczysz wiadomość powitalną:

"Last login at xx:xxpm from you.domain.com/ip.ad.dre.ss"
Olumide
źródło
2
Nie musisz się logować i wylogowywać, po prostu wpisz last -ai.
joelostblom
4

Właśnie dostałem najszybszy sposób na obejście tego

$ who

root     pts/22       2016-12-28 13:22 (179.xx.xxx.xx)

Jeśli podłączony przez ssh. Spowoduje to wyświetlenie zalogowanego użytkownika oraz adresu IP

Radiumrasheed
źródło
4
Lub echo $SSH_CLIENTpisząc dłużej, ale prawie nie ma bałaganu do czytania.
dave_thompson_085
2

Spróbować ifconfig. Powinien podawać lokalny adres IP (w sieci) dla różnych interfejsów, takich jak WiFi i Ethernet.

Naftuli Kay
źródło
1

Najłatwiejszy sposób na uzyskanie adresu IP przez SSH:

Command: ifconfig

Przykład:

stalinrajindian@ubuntuserver:~$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.30.3.27  netmask 255.255.255.0  broadcast 172.30.3.255
        inet6 fe80::a00:27ff:fe8b:9986  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:8b:99:86  txqueuelen 1000  (Ethernet)
        RX packets 4876  bytes 1951791 (1.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 775  bytes 73783 (73.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 78  bytes 5618 (5.6 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78  bytes 5618 (5.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
stalinrajindian
źródło