警告后 scp 权限被拒绝:远程主机标识已更改!

警告后 scp 权限被拒绝:远程主机标识已更改!

我正在使用 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 命令即可解决问题。这通常发生在我们在不同的服务器中使用这些命令时。

相关内容