我尝试使用该scp
命令-i
将文件从本地机器传输到远程 EC2 实例:
Akhis-Macbook-Pro:~ aswinakhilesh$ sudo scp -i Mykey.pem FileA [email protected]:/home/FileA
我没有复制文件,而是收到以下消息:
Agent pid 2624
Akhis-Macbook-Pro:~ aswinakhilesh$ Identity added:
/home/.ssh/id_rsa (/home/id_rsa)
我的.ssh
ec2 实例中的文件夹有以下文件:
authorized_keys
id_rsa [Same as Mykey.pm, which is used with the -i option before]
known_hosts
如果有人能帮助我那就太好了!
答案1
我刚刚遇到了同样的问题。解决方案是有人指出的(如果你有
评估`ssh-agent`
将其更改为
eval `ssh-agent' > /dev/null
但重要的是,这需要发生在偏僻的主持人。
答案2
你的 .bashrc 里有什么?
sshd 在使用 scp 连接时将在您的主目录中获取 .bashrc。该文件中似乎包含类似eval
“ssh-agent”的内容。
如果 .bashrc 在获取源时将任何内容发送到 STDOUT,则会导致 scp(以及其他程序)出现问题。有几种不同的方法可以解决这个问题,最简单的方法是更改为:
eval
`ssh-agent` > /dev/null
您还可以测试 $PS1 是否设置以确定它是否是交互式 shell,然后使用条件语句。
答案3
对我来说,你的目标路径似乎不正确,至少普通用户不应该有直接写入的权限/home
,然而这会导致命令的权限被拒绝scp
,但你仍然可以使用
代替:
[email protected]:/home/FileA
下列:
[email protected]:~/
答案4
如果在运行 时打印出某些内容,则连接会中断。登录远程主机时,scp
您可能正在运行一些底层命令(或类似命令)。即使对于非交互式登录,例如当您使用 时,它也会继续在目标主机中获取登录脚本。.bashrc
scp
通过 SSH 连接到远程主机并检查打印某些内容的命令来修复此问题。然后,您可以尝试注释它们(进行快速测试)或重定向它们的输出以/dev/null
避免下次发生这种情况。