【问题标题】:Copy files from Linux server using ssh client with different user name使用具有不同用户名的 ssh 客户端从 Linux 服务器复制文件
【发布时间】:2014-10-16 09:08:44
【问题描述】:

我有这台安装了 ssh 服务器的 linux 机器,我可以使用 username="ubuntu" 访问服务器。 ssh 服务器阻止尝试使用“root”用户名连接的客户端。

所以可以通过以下方式建立连接:

ssh -i mykey ubuntu@myserver

我可以使用以下方法获取属于“ubuntu”的文件:

scp -i mykey ubuntu@myserver:<file location> ./

但是,我真正想要的是获取属于“root”用户名的文件,(注意:出于明显的安全原因,我无法使用用户名“root”访问服务器)。

那么有没有办法下载“root”用户名下的文件?

我正在考虑在服务器端做一些魔法,使我能够做到这一点。(我不知道怎么做 :))

如果有帮助:我有 root 访问权限,也可以在我的服务器端创建文件。但是我不允许更改根目录下的文件权限(如果有人掌握了这些文件,我将被解雇)

【问题讨论】:

    标签: linux ubuntu ssh


    【解决方案1】:

    你可以试试这样的怪物

    ssh ubuntu@myhost 'sudo cat /path/to/file | uuencode' | uudecode > path/to/local
    

    您应该在对应的主机上拥有uuencodeuudecode

    或者如果文件是文本,你可以跳过 uuencode 部分

    ps:见相关topic

    【讨论】:

    • 我试过这段代码,由于某种原因它卡住了。我不使用“su”,而是使用“sudo su”。这会是个问题吗?
    • 它可能正在等待密码。尝试找到将密码作为参数传递给su的选项
    • 我刚刚将代码更改为 'sudo cat /path/to/file' 并且它起作用了。 (因为只复制文本文件,所以我没有使用 uuencode)。 thx 伙伴,它帮助了很多。你能不能把代码改一下,这样我就可以按回答打勾了
    • 我改变了我的样本。但对其他人来说,可能需要另一种方式来获得所需的许可。
    【解决方案2】:

    你可以反过来做。

    用你想要的文件登录电脑

    ssh ubuntu@myserver
    

    然后获得超级用户权限

    sudu su
    

    然后复制你想要的文件

    scp /the_file_you_want ubuntu@myhost:/the_location_and_filename_you_want
    

    您可以在此处找到其他一些方法 https://unix.stackexchange.com/questions/106480/how-to-copy-files-from-one-machine-to-another-using-ssh

    【讨论】:

    • 问题是我的本地机器无法通过 ssh 访问。 (它不是服务器)
    • 啊,好的。所以这就是我放入链接的目的。在那里你会发现一些有趣的方法来使用 tar 来做这个没有 scp 但只有 ssh
    【解决方案3】:

    在您的机器上启用 ssh (如果是 fedora)(对于 ubuntu,您可以在 google 上轻松找到命令)

     service sshd on
    

    从你的本地机器

     ssh -i ubuntu@myserver
    

    更改为根

    su
    

    输入密码

    并使用 scp 复制文件

    scp somefile.extension randomuser@localmachine:/some/path/
    

    希望对你有帮助

    【讨论】:

    • 这就是问题所在,我无法在本地机器上启用 ssh 服务器。它是公司路由器下的Windows机器。所以绝对没有办法)
    猜你喜欢
    • 2016-01-04
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 2017-10-26
    • 2020-12-04
    • 2016-02-08
    相关资源
    最近更新 更多