私はライオンを実行しているMacbookを使用しています。 Terminal
では、ssh
で学校のサーバーに接続しています。サーバー上のフォルダーに移動して、ローカルマシンにコピーしたいファイルがありますが、ローカルマシンのIPアドレスがわかりません。どうすれば入手できますか?サーバーのフォルダにいます。read.txt
ローカルマシンのハードドライブに。私はもう試した scp ./read.txt [my computer name].local/newRead.txt
が機能しません。
ホストにファイルをコピーするために、ホストのIPアドレスを知る必要はありません。単にscp
を使用してファイルをコピーしますfromリモートホスト:
$ scp [email protected]:path/to/read.txt ~/path/to/newRead.txt
toローカルホストをリモートホストからコピーする場合は、ifconfig
を使用して独自のIPアドレスを取得し、次のコマンドを発行します。
$ scp path/to/read.txt [email protected]:path/to/newRead.txt
どこ 1.2.3.4
はローカルIPアドレスです。ホストのIPアドレスを抽出する便利な方法は、次の関数を使用することです:
ipaddr() { (awk '{print $2}' <(ifconfig eth0 | grep 'inet ')); }
どこ eth0
はネットワークインターフェイスです。 ~/.bash_profile
を通常のコマンドとして実行するには-ipaddr
。
答えに追加するだけで、アドレス(ip /ドメイン)を伝える簡単な方法は、sshを実行できるコンピューターにsshでログインし、終了してからもう一度sshで戻ることです。ほとんどの場合、次のようなウェルカムメッセージが表示されます。
"Last login at xx:xxpm from you.domain.com/ip.ad.dre.ss"
私はこれを回避する最速の方法を手に入れました
$ who
root pts/22 2016-12-28 13:22 (179.xx.xxx.xx)
Ssh経由で接続されている場合。これにより、ログインしているユーザーとIPアドレスが表示されます
ifconfig
をお試しください。 WiFiやイーサネットなどのさまざまなインターフェースの(ネットワーク上の)ローカルIPアドレスが表示されます。
SSH経由でIPアドレスを取得する最も簡単な方法:
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