【问题标题】:SCP from remote to local script not copyingSCP从远程到本地脚本不复制
【发布时间】:2014-02-24 21:33:31
【问题描述】:

我的目标是通过脚本将文件夹从远程服务器复制到新的本地计算机。我从 deploystudio 运行脚本,所以这一切都是在 root 中完成的。所以脚本应该是

1) 在本地机器上创建 .ssh 和 authorized_keys 文件夹

2) 将远程服务器的 id_dsa.pub 粘贴到本地的 authorized_keys 文件中

3) 将 Folder1 从远程服务器安全复制到本地计算机的桌面

Folder1 无法复制。如果我 sudo SCP 行并手动运行它,它会在我输入密码后工作。

user="name"
id_dsa.pub="ssh-dss AAAAB3NzaC1kc3MAAACBAPpK/k7Yk............"

mkdir /Users/${user}/.ssh
chmod 0700 /Users/${user}/.ssh
touch /Users/${user}/.ssh/authorized_keys
chmod 0644 /Users/${user}/.ssh/authorized_keys

/bin/cat > "/Users/${user}/.ssh/authorized_keys" << EOL
${id_dsa.pub} 
EOL

scp -r remoteserver@192.168.1.39:/Users/admin/Desktop/Folder1 /Users/$user/Desktop

【问题讨论】:

  • 为什么需要用sudo 填写authorized_keys?无论如何,您都以 root 身份运行。您确定 192.168.1.39 服务器上的用户名应该是 remoteserver
  • 哎呀,我复制了错误的行。我在终端中使用 sudo 进行测试。我更新了代码。它假设是 /bin/cat > "/......../"
  • 好吧,remoteserver 只是一个别名,因为我不想提供真实信息。当我在终端中时,我能够成功 scp,但它在这个脚本中失败了。我不知道为什么。
  • 等号周围不应有空格,请尝试variable="some string" 并始终引用您的字符串和变量

标签: bash scp


【解决方案1】:

本地系统上创建该文件并不能帮助您连接到远程系统。为此,您想使用ssh-copy-id

【讨论】:

    猜你喜欢
    • 2014-11-09
    • 2019-03-28
    • 2012-07-03
    • 2014-10-16
    • 2013-02-12
    • 2012-02-17
    • 2021-03-15
    • 2012-06-05
    • 1970-01-01
    相关资源
    最近更新 更多