Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在通过ssh登录到服务器后,如何传输文件?_Bash_Ssh - Fatal编程技术网

Bash 在通过ssh登录到服务器后,如何传输文件?

Bash 在通过ssh登录到服务器后,如何传输文件?,bash,ssh,Bash,Ssh,对于所有相关人员来说,这是一个相当奇怪和尴尬的局面 假设有人(咳嗽而不是我咳嗽)意外地chmod 000d远程服务器上的我的主目录 我一直在使用ssh密钥登录,因为我想我会忘记远程主机上的实际密码(我已经忘记了)。但是,现在我的主目录有000perms,~/.ssh/authorized_keys中的ssh密钥无法读取,ssh迫使我输入一个早已忘记的密码 另外,我在远程服务器上没有sudo超级功能 但是,我碰巧有一个ssh会话打开到远程服务器,该会话是在某人(cough)chmod 000d我的

对于所有相关人员来说,这是一个相当奇怪和尴尬的局面

假设有人(咳嗽而不是我咳嗽)意外地
chmod 000
d远程服务器上的我的主目录

我一直在使用ssh密钥登录,因为我想我会忘记远程主机上的实际密码(我已经忘记了)。但是,现在我的主目录有
000
perms,
~/.ssh/authorized_keys
中的ssh密钥无法读取,ssh迫使我输入一个早已忘记的密码

另外,我在远程服务器上没有sudo超级功能

但是,我碰巧有一个ssh会话打开到远程服务器,该会话是在某人(cough)
chmod 000
d我的主目录之前启动的

所有这些都发生在我试图将一些文件从本地主机上载到我的主目录中的一个可公开访问的目录时

我还可以在不需要新的SSH会话的情况下将文件从本地机器上载到远程机器吗

我想我现在至少可以把它们放在/tmp或者别的什么地方。

是的,你可以

  • 按enter、~、Shift+C打开ssh命令行

  • 输入
    -L 12345:localhost:12345
    通过现有SSH连接转发新端口

  • 在远程ssh会话上运行
    nc-l-p12345 | tar xzv

  • 在本地系统上运行tar czv FileOrDir1 FileOrDir2等| nc localhost 12345

  • 这些文件现在将通过现有ssh连接传输,并将显示在远程会话的当前目录中


    但是,我无法理解您为什么要这样做,而不只是
    chmod 711

    如果您仍然拥有ssh会话,并且您拥有dir,您就不能
    chmod
    返回它们吗?(为目录提供
    chmod
    完整路径,不要试图从目录本身中执行此操作)。