【问题标题】:transfer file to remote via cmd通过 cmd 将文件传输到远程
【发布时间】:2020-04-24 13:01:48
【问题描述】:

我已经在 google 和这个网站上进行了足够多的搜索,但我没有找到任何问题的答案。我只是想将文件从本地 Windows 机器传输到远程 ubuntu 服务器。

这是我试过的命令:

scp C:/Users/myself/Documents/personal/gd_bundle-g2-g1.crt bitnami@11.123.12.123:/etc/ssl/certs

我收到此错误:

Permission Denied (Publickey)

显然是因为我没有输入密钥文件并且我不知道在哪里输入。所以请指导我如何传输文件以删除指定公钥的服务器。

谢谢

编辑:

scp -i C:\Users\myself\Documents\personal\ppk\myfile.ppk bitnami@11.123.12.123:/C:/Users/myself/Documents/personal/gd_bundle-g2-g1.crt   /etc/ssl/certs

出现错误:格式错误

【问题讨论】:

  • 这能回答你的问题吗?您需要使用-i 选项提供密钥文件stackoverflow.com/questions/24116454/…
  • 是的,我正在寻找类似的东西。但它给出了另一个错误,说格式错误。你能看看我编辑过的帖子吗?
  • 您需要使用.pem 格式和scp 命令,所以如果您使用windows,请使用puttygen 将您的ppk 转换为pem,然后使用相同的命令复制文件。
  • 太棒了!试过了。它说本地文件路径没有这样的文件或目录。我检查了路径是否正确
  • 我猜通过查看文件路径它的 windows 路径格式,我相信你正在使用 openssh 在命令终端上使用 scp,所以首先确保你使用正确的路径尝试通过使用 @ 列出文件来调试987654327@命令,然后更正本地路径。

标签: ssh cmd remote-access file-transfer


【解决方案1】:

您需要创建一个 ssh 密钥对、一个公钥和一个私钥。有很多网站解释了怎么做,一般你运行ssh-keygen,比如指定here

私钥是“id_rsa”,公钥是“id_rsa.pub”。在远程机器上,您需要将 id_rsa.pub 的内容放在 $HOME/.ssh/authorized_keys 文件的末尾。如果您没有 authorized_keys 文件,则通过复制 id_rsa.pub 来创建一个。您将需要使用 scp 以外的其他方式来获取它。

另外,你在两台机器上的 $HOME/.ssh 目录需要有良好的权限,这是 unix 机器上的“chmod 700 .ssh”。

【讨论】:

  • 我有 ssh 密钥。这不是问题。
  • 带有 -i 的 ppk 密钥是 putty 格式 (ppk)。 scp 是openssh。您需要使用 ssh-keygen 的 ssh 格式的密钥,或者在 putty 密钥和 openssh 密钥之间找到一个转换器。
猜你喜欢
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-05
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 2017-10-07
相关资源
最近更新 更多