如何从远程到本地获取 scp 的正确本地用户名和地址?

如何从远程到本地获取 scp 的正确本地用户名和地址?

我在运行 Catalina 的 Mac 上。我在远程服务器上有一个文件,我想在本地计算机上使用该文件;我想这样做,以便我从远程转移到本地。

我在看这个帖子,这个帖子,以及许多类似的在线资源,发现我需要使用我的用户名和地址,然后是文件路径;我想知道的是我如何找到这些以及我使用哪些?我只看到了“替换为您的信息”模板,但没有看到它的示例应该看起来像。

我问的是这部分

[电子邮件受保护]:path/to/newRead.txt

,但我的信息被替换为通用信息。

当我尝试 ifconfig 时,出现了几块短语和数字;我应该使用哪个(如果有的话)?我也不知道如何找到我的用户名,也不知道我的路径应该是什么样子(用户名应该是主机名命令的完整结果,并且路径的开头是从主目录打印工作目录的结果(〜) ?)

是否有我可以输入到命令行中的命令来直接给我这些命令,或者给我一个我的(本地)特定部分应该是什么样子的格式化字符串?

我要求远程到本地,因为我在远程上的权限更有限,尽管我也愿意听到类似的事情。

答案1

您想将某些内容从远程计算机复制到本地 Mac 吗?你可以这样做:

# from your local mac machine
$ scp <username>@<remote-hostname>:/path/to/thing/to/copy .
# or if its a directory
$ scp -r ...

这会将文件复制到您当前的工作目录(因此.

要获取远程计算机的用户名和主机名,只需登录并运行whoamihostname假设远程计算机是 Linux 版本)

# e.g. 
$ ssh remote-hostname
$ hostname 
# prints machine hostname
$ whoami
# prints your username 

fwiw,假设您已经知道如何ssh进入这台远程计算机,那么您已经知道主机名的用途scp:)

一些额外的信息:

scp开始时很好,但rsync可能是更好的选择,具体取决于您正在执行的复制/同步工作类型。例如你可以尝试:

# from local mac
$ rsync -auvz <username>@<remote-hostname>:/path/to/folder/ .

rsync像这样使用将在发送之前/之后压缩文件,并将考虑本地和远程文件夹结构之间的差异,仅更新需要的内容(因此幂等与scp非幂等)

答案2

我在远程服务器上有一个文件

因此,远程服务器有一个名称,例如remote.server.com,并且您在远程服务器上有一个帐户,例如god。您知道远程服务器上的文件所在的位置,例如位于名为 的god目录的主目录下。filesmyfile

然后,您从 Mac 上,

scp [email protected]:files/myfile localfile

它会将远程文件复制到localfile您的 Mac。

ifconfig不会告诉您有关远程服务器的任何信息。

如果您不知道远程服务器上的帐户名god,则说明您在远程服务器上没有帐户。那么您需要做的第一件事就是获得一个帐户。如何做到这一点取决于您,您remote.server.com首先是来获取文件的,但您没有告诉我们任何有关该文件的信息。通常它涉及询问管理远程服务器的人。


我(善意地)通过通路漏洞利用访问终端,我可以通过输入字段看到不同的目录和文件,以便在网站上执行其他操作。

所以它是一个网络服务器,你在服务器上没有帐户,这意味着你不能使用scp.故事结局。

如果您是出于善意这样做,则意味着您应该知道谁运行服务器,以便您可以联系他们以获得帐户。

相关内容