我正在使用 scp 和 ssh 突然出现一些警告
有令人讨厌的事情!
中间人攻击
从出现警告的那一刻起,到现在,我可以通过 sftp 复制文件,但无法使用 scp。发生了什么事?我尝试删除 .ssh/known_hosts,但情况始终相同。当我删除 时scp myfile user@server:/Folder
,我收到以下消息。
scp:/文件夹:权限被拒绝
答案1
打开以下文件并删除文件中的文本
vi /home/username/.ssh/known_hosts
重新启动 scp 命令
答案2
首先,这是一个安全问题。
这是一篇很好的评论文章:
http://www.symantec.com/connect/articles/ssh-host-key-protection
基本上,ssh 服务器 (openssh-server) 使用密钥来标识自己,并防止他人模仿它们。例如,“中间人”可能会获取您的用户名和密码。
你可以通过几种方法修复它,我更喜欢
ssh-keygen -R server
但是,在执行此操作之前,您应该与服务器系统管理员核实(服务器)密钥是否已更改。
对于 scp 错误,您需要使用完整路径。我的猜测是:
scp myfile user@server:/home/user_name/Folder
答案3
如果您将服务器迁移到另一台硬件或更改了 IP 地址,也会发生这种情况。通常,我会将 known_hosts 文件复制到 .bak;vi 该文件并删除有问题的密钥。然后当我再次 ssh 登录时,它会提示输入密码,并在获得许可的情况下将其添加到已知主机。您甚至不必输入密码,只需对 known_hosts 说“是”即可。
但如前所述 - 有些东西发生了变化,所以您需要找出是什么。这些错误不会凭空出现,所以请谨慎!
答案4
我只需打开文件 :- /home/username/.ssh/known_hosts 并删除包含服务器名称的行,然后再次使用 scp 命令即可解决问题。这通常发生在我们在不同的服务器中使用这些命令时。