CentOS 7 - 在两台主机之间复制文件(scp (security copy))

在两台主机之间复制文件

复制主机 1 中的 file-in-server-1 文件到主机 2(IP:192.168.88.158)root 用户的 /root/ 目录下,并命名为 file-in-server-2

$ scp ./file-in-server-1 root@192.168.88.158:/root/file-in-server-2
The authenticity of host '192.168.88.158 (192.168.88.158)' can't be established.
ECDSA key fingerprint is SHA256:4MtI2DKLAUzJR7xObbtMQMjqFwnL5gIXsvqMQ8nQgII.
ECDSA key fingerprint is MD5:66:4b:31:ea:63:3d:0a:85:09:09:7b:ac:3a:d8:ea:8c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.88.158' (ECDSA) to the list of known hosts.
root@192.168.88.158's password: 
file-in-server-1                                                                                                                                           100%   15    24.1KB/s   00:00
  • 第 1 行:./file-in-server-1 当前目录下的 file-in-server-1 文件;root@192.168.88.158 使用主机 2root 用户进行认证;
  • 第 2 行:无法建立**主机 2(IP:192.168.88.158)**的真实性;
  • 第 3、4 行:主机 2 的指纹信息;
  • 第 5 行:是否继续?回答 yes 继续;
  • 第 6 行:警告:永久性地添加 192.168.88.158 主机的指纹信息到 known_hosts 文件;
  • 第 7 行:输入 root@192.168.88.158 用户的密码,此处不可见;
  • 第 8 行:复制操作的运行结果。

注意:如果复制操作结束之后,不想保存主机 2 的指纹信息,可以将其删除。

这些指纹信息默认保存在当前用户的 ~/.ssh/known_hosts 文件中:

$ cat ~/.ssh/known_hosts
192.168.88.158 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPSX0hN/O8U7XIqXduQaNnRATvnDBfvlrjNoSfkXY9onuNVmzkWEulEnPCr7uRt81cshSdEyuPJEgp+KDo3HMj8=

可以使用 ssh-keygen -R hostname 命令删除特定主机的指纹信息:

$ ssh-keygen -R 192.168.88.158
# Host 192.168.88.158 found: line 1
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old

注意:从执行该操作的结果可知,虽然删除了特定主机的指纹信息,但是 known_hosts 文件的原始内容被备份到 known_hosts.old 文件。因此,最好使用 rm 命令删除 ~/.ssh/known_hosts.old 文件。

此外,如果不想删除特定主机的指纹信息,可以使用 ssh-keygen -H 命令对 known_hosts 文件中所有主机名执行哈希操作:

$ ssh-keygen -H
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
WARNING: /root/.ssh/known_hosts.old contains unhashed entries
Delete this file to ensure privacy of hostnames

注意:类似地,虽然对所有主机名执行哈希操作,但是 known_hosts 文件的原始内容被备份到 known_hosts.old 文件。因此,最好删除 ~/.ssh/known_hosts.old 文件。

提示:可以使用 cat ~/.ssh/known_hosts 命令查看执行哈希操作之后 known_hosts 文件中主机名的变化。

回归主题,进入主机 2,查看(验证)复制操作的结果:

$ ll /root/file-in-server-2 
-rw-r--r--. 1 root root 15 Dec 25 11:26 /root/file-in-server-2

参考

删除个别主机的Know_hosts文件信息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值