【问题标题】:Copying a local file from Mac to an ssh session in terminal [closed]将本地文件从 Mac 复制到终端中的 ssh 会话 [关闭]
【发布时间】:2017-01-20 07:56:19
【问题描述】:

我是使用 bash 命令的新手,遇到了一些麻烦。我正在 ssh 进入一个包含我的一些工作文件的 linux 盒子。我的 Mac 上有一个本地文件,需要将其复制到服务器上。

以下是我到目前为止所经历的步骤: 1) ssh usrname@orgname.edu 2) 输入密码 3) 密码 4) 工作目录:home/usrname

在这之后我被困住了。我的 Mac 文档中有一个本地文件夹。我想将它复制到我通过 ssh 连接到的服务器上的工作目录中。

感谢您的帮助。谢谢

【问题讨论】:

  • 改用scp
  • 这不是编程问题。 SuperUser.com 是解决技术支持问题的更好地方。

标签: linux bash macos ssh


【解决方案1】:

当您通过 ssh 连接到远程机器时,就好像您正坐在另一台机器前面并在其中执行命令。当您处于该状态时,您无法将文件复制到(或从)它。相反,您必须使用不同的工具scp,它也属于ssh 系列,实际上在幕后调用ssh。这是您将本地目录复制到远程计算机的方式:

scp -rp /path/to/local/dir usrname@orgname.edu:/path/to/remote/dir

我使用-r 模式(代表递归)递归地复制目录。另请参阅manual of scp 了解更多详情

【讨论】:

    【解决方案2】:

    为此,您需要使用 sftp 而不是 ssh。请尝试以下操作:

    1. sftp usrname@orgname.edu
    2. 输入密码
    3. cd <directory where you want to transfer the file>
    4. put <name of file you want to transfer>

    您还可以在某些命令前添加“l”以表明您希望在本地执行此操作。即ls 将显示远程服务器上的文件,lls 将显示本地计算机上的文件。

    编辑:

    你会想要确保你要么

    一个。在开始 sftp 进程之前导航到包含您要传输的文件的文件夹。

    b.在 sftp 会话中使用 lcdlls 导航到包含您要传输的文件的本地文件夹。

    如 cmets 中所述,使用要传输的文件的完整路径是行不通的。

    【讨论】:

    • 当我将文件的完整路径放在要传输的本地计算机上时,我收到一条消息说没有这样的文件或目录
    • 好点。我刚刚尝试过,似乎使用完整路径不起作用。你会想要使用'lcd'和'lls'来确保你在正确的文件夹中。我将更改我的答案以包括在内。谢谢ixbo45。
    【解决方案3】:

    从您的 Linux 命令提示符:scp -C -r username@remote.host:/path/to/remote/directory/ target/directory

    【讨论】:

    • scp pathToFileOnMBP 用户名@linuxHost:pathToFileOnLinux
    猜你喜欢
    • 2014-05-11
    • 2011-11-25
    • 2012-08-03
    • 1970-01-01
    • 2020-01-22
    • 2012-07-01
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多