我的 MAC 有 wifi,并通过ssh
Linux 主机连接。我想将一些文件从 linux 主机复制到我的 MAC 上。我知道,我可以简单地scp
在 Mac 上运行来通过以下方式获取每个文件
mac> scp [email protected]:remote/folder/file local/folder
但我无法用一个命令对多个文件执行此操作(我可以tar
先使用连接将它们放入存档中ssh
,然后一次性发送存档,但我想避免这种情况)。因此,我想通过(注意通配符的使用)从远程主机(我通过 ssh 连接到的)发送所有文件
host> scp remote/folder/files* [email protected]:local/folder
但这里什么是合适的mac.some.where
,即当我的 MAC 连接到某些无线设备时,我怎样才能获得它?我尝试了(数字)IP 地址(通过 获得ifconfig
),但无济于事。
答案1
我将继续使用您的计算机作为本地计算机,并通过在您的 MAC 上运行以下命令将通配符放在远程主机端:
mac> scp [email protected]:remote/folder/file* local/folder
如果您确实想从远程主机登录到您的计算机,这里有一个简短的指南。您所使用的 Wi-Fi 连接可能是通过局域网 (LAN) 进行的,而远程主机可能是通过整个互联网进行操作的,从 Mac 的角度来看,这就是广域网 (WAN)。您看到的 IP 地址ifconfig
几乎可以肯定是您的 LAN 地址,而不是远程主机所需的 WAN 地址。如果您打开终端并运行,curl http://myip.dnsomatic.com; echo;
您应该能够看到 LAN 的 WAN IP 地址。不过,这只会让您到达 LAN 的路由器,您可能需要明确告诉路由器使用通过命令获得的 Mac 的 LAN IP 地址将 ssh 流量(默认情况下在端口 22 上)转发到您的特定计算机ifconfig
。正如 Mark Plotnick 提到的,您还需要确保 Mac 上的 SSH 已打开(系统首选项 -> 共享 -> 远程登录和文件共享),并且您和远程服务器之间没有防火墙阻止端口上的传入流量22. 最后,像这样将计算机打开到互联网并打开远程登录时要非常小心。通过默认端口 22 执行此操作不太安全,尤其是在没有配置一些更高级的安全选项的情况下。至少确保您的管理用户都拥有强密码,并且只要您不需要,我就会关闭远程登录和文件共享。
答案2
好的,首先 Linux 主机必须开启 SSH 服务。
即(ubuntu)
host$ /etc/inist.d/ssh status
* sshd is running
然后你必须连接到主机的 SSH 端口
mac$ telnet <IP.of.the.host> 22
Trying X.X.X.X ...
Connected to X.X.X.X
Escape Character is
SSH-X.X-OpenSSH_X.X
那么你就可以SCP从/到主机
scp -P <PORT> <source> <destination>
IE
scp -P 22 [email protected]:/home/user /home/user
如果您没有运行 SSH 服务或没有 ssh 主机的权限,您将无法建立任何类型的 ssh 连接
请记住,scp 通过 SSH 服务建立连接