我有一个 EC2 实例正在运行(FreeBSD 9 AMI ami-8cce3fe5),我可以使用我的亚马逊创建的密钥文件 ssh 进入它,而无需密码提示,没问题。
但是,当我想使用 scp 将文件复制到实例时,系统会要求我输入密码:
scp somefile.txt -i mykey.pem root@my.ec2.id.amazonaws.com:/
Password:
任何想法为什么会发生这种情况/如何预防?
我有一个 EC2 实例正在运行(FreeBSD 9 AMI ami-8cce3fe5),我可以使用我的亚马逊创建的密钥文件 ssh 进入它,而无需密码提示,没问题。
但是,当我想使用 scp 将文件复制到实例时,系统会要求我输入密码:
scp somefile.txt -i mykey.pem root@my.ec2.id.amazonaws.com:/
Password:
任何想法为什么会发生这种情况/如何预防?
I figured it out. I had the arguments in the wrong order. This works:
scp -i mykey.pem somefile.txt root@my.ec2.id.amazonaws.com:/
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path
将文件从本地服务器复制到远程服务器
sudo scp -i my-pem-file.pem ./source/test.txt ec2-user@1.2.3.4:~/destination/
将文件从远程服务器复制到本地计算机
sudo scp -i my-pem-file.pem ec2-user@1.2.3.4:~/source/of/remote/test.txt ./where/to/put
所以基本的语法是: -
scp -i my-pem-file.pem username@source:/location/to/file username@destination:/where/to/put
-i
用于身份文件
我使用以下命令从本地 linux Centos 7 复制到 AWS EC2。
scp -i user_key.pem file.txt ec2-user@my.ec2.id.amazonaws.com:/home/ec2-user
让siliconerockstar的评论成为答案,因为它对我有用
scp -i kp1.pem ./file.txt ec2-user@1.2.3.4:/home/ec2-user
scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .
文件名不应该在 pem 文件和 ec2-user 字符串之间 - 这不起作用。这也允许您保留复制文件的名称。
假设您要发送的 pem 文件和 somefile.txt 位于 Downloads 文件夹中
scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt root@my.ec2.id.amazonaws.com:~/
让我知道它是否不起作用
scp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz
这将对你们所有人都非常有帮助
My hadoopec2cluster.pem
file was the only one in the directory on my local mac, couldn't scp it to aws using scp -i hadoopec2cluster.pem hadoopec2cluster.pem ubuntu@serverip:~
.
Copied hadoopec2cluster.pem to hadoopec2cluster_2.pem and then scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem ubuntu@serverip:~
. Voila!
在您的情况下,用户root
不会有任何问题。但是在某些情况下,您需要以不同的用户身份在 SSH 下登录,请确保您正在使用的目录scp
对您正在使用 SSH 的用户具有足够的权限。
我被挂断了,因为我正在指定我的公钥文件
scp -i [private key file path]
当我发现这个错误并将其更改为私钥路径时,我已经准备好了。
要使用 PSCP,您需要在使用 PuTTYgen 转换您的私钥中生成的私钥。您还需要 Linux 实例的公共 DNS 地址
pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt ec2-user@public_dns:/home/ec2-user/Sample_file.txt
写这段代码
scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim root@192.168.2.228:/root/
如果您有一个可以访问目标服务器的 SSH 密钥而源服务器没有,添加 -o "ForwardAgent=yes" 将允许您将 SSH 代理转发到源服务器,以便它可以使用您的 SSH 密钥连接到目标服务器。
#将您的密钥移动到 /tmp 或服务器上的正确文件夹
sudo chmod 600 /tmp/dev-sunrobotics-snippetbucketcom.pem
scp -i /tmp/dev-snippetbucketcom.pem filestore.tar.gz ubuntu@9.911.99.91:/tmp
确保在您的 ip 安全中您允许 ip 地址连接
刚刚测试:
运行以下命令:
sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub
然后: