Как я могу получить адрес моей локальной машины?

13

Я на MacBook под управлением Lion. В Terminalя подключен к моей школе с сервером ssh. Я перешел в папку на сервере и у меня есть файл, который я хочу скопировать на свой локальный компьютер, но я не знаю, каков IP-адрес моего локального компьютера. Как я могу получить это? Я нахожусь в папке на сервере, и я хочу скопировать read.txtна жесткий диск моей локальной машины. Я пытался, scp ./read.txt [my computer name].local/newRead.txtно это не работает.

Marty
источник

Ответы:

17

Вам не нужно знать IP-адрес вашего собственного хоста, чтобы скопировать на него файлы. Просто используйте scpдля копирования файла с удаленного хоста:

$ scp user@rhost.com:path/to/read.txt ~/path/to/newRead.txt

Если вы хотите скопировать на локальный хост с удаленного хоста, получите свой собственный IP-адрес ifconfigи введите следующее:

$ scp path/to/read.txt user@1.2.3.4:path/to/newRead.txt

где 1.2.3.4ваш локальный IP-адрес. Удобный способ извлечь IP-адрес хоста - использовать эту функцию:

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

где eth0ваш сетевой интерфейс Вставьте его ~/.bash_profile, чтобы запустить как обычную команду ipaddr.


источник
1
Что если команда вернет «ifconfig: interface eth0 не существует»?
Колистивра
1
@kolistriva Попробуйте "en0".
Лайл
6

Просто добавив к ответу, простой способ узнать свой адрес (ip / domain) - это подключиться к компьютеру по ssh, на котором вы можете выполнить ssh, выйти, а затем снова подключиться к ssh. В большинстве случаев вы увидите приветственное сообщение:

"Last login at xx:xxpm from you.domain.com/ip.ad.dre.ss"
Olumide
источник
2
Нет необходимости входить и выходить, просто введите last -ai.
Джоелостблом
4

Я только что получил быстрый способ обойти это

$ who

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

Если подключен через ssh. Это покажет пользователя, вошедшего в систему плюс IP-адрес

Radiumrasheed
источник
4
Или echo $SSH_CLIENTглупо дольше печатать, но почти ничего не читать.
dave_thompson_085
2

Попробуй ifconfig. В нем должен быть указан ваш локальный IP-адрес (в вашей сети) для различных интерфейсов, таких как WiFi и Ethernet.

Нафтули Кей
источник
1

Самый простой способ получить IP-адрес через SSH:

Command: ifconfig

Пример:

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
источник