我有一个运行的EC2实例(FreeBSD 9 AMI ami-8cce3fe5),我可以使用我的亚马逊创建的密钥文件ssh到它,没有密码提示,没问题。
但是,当我想使用scp将文件复制到实例时,我被要求输入密码:
scp somefile.txt -i mykey.pem [email protected]:/
Password:
任何想法为什么会发生这种情况/如何预防?
我想到了。我的论点错误。这有效:
scp -i mykey.pem somefile.txt [email protected]:/
在您的情况下,用户root
将不会有任何问题。但在某些情况下,您需要以不同的用户身份登录SSH,请确保您所使用的scp
-ing目录对您正在进行SSH的用户具有足够的权限。
写下这段代码
scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim [email protected]:/root/
如果您具有可访问目标服务器的SSH密钥而源服务器没有,则添加-o“ForwardAgent = yes”将允许您将SSH代理转发到源服务器,以便它可以使用您的SSH密钥连接到目标服务器。
要使用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
刚测过:
运行以下命令:
sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub
然后:
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path
我使用下面的命令从本地linux Centos 7复制到AWS EC2。
scp -i user_key.pem file.txt [email protected]:/home/ec2-user
scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .
文件名不应该在pem文件和ec2-user字符串之间 - 这不起作用。这也允许您保留复制文件的名称。
让siliconerockstar的评论得到答案,因为它对我有用
scp -i kp1.pem ./file.txt [email protected]:/home/ec2-user
假设您要发送的pem文件和somefile.txt位于Downloads文件夹中
scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt [email protected]:~/
如果它不起作用,请告诉我
scp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz
这对你们所有人都非常有帮助
我的hadoopec2cluster.pem
文件是我本地mac目录中唯一的文件,无法使用scp -i hadoopec2cluster.pem hadoopec2cluster.pem ubuntu@serverip:~
将其scp到aws。
将hadoopec2cluster.pem复制到hadoopec2cluster_2.pem然后scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem ubuntu@serverip:~
。瞧!
我被挂了,因为我正在指定我的公钥文件
scp -i [private key file path]
当我发现错误并将其改为私钥路径时,我就完全没了。