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 [email protected]:/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.
[email protected]'s password: 
file-in-server-1                                                                                                                                           100%   15    24.1KB/s   00:00
  • 第 1 行:./file-in-server-1 当前目录下的 file-in-server-1 文件;[email protected] 使用主机 2root 用户进行认证;
  • 第 2 行:无法建立**主机 2(IP:192.168.88.158)**的真实性;
  • 第 3、4 行:主机 2 的指纹信息;
  • 第 5 行:是否继续?回答 yes 继续;
  • 第 6 行:警告:永久性地添加 192.168.88.158 主机的指纹信息到 known_hosts 文件;
  • 第 7 行:输入 [email protected] 用户的密码,此处不可见;
  • 第 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文件信息

猜你喜欢

转载自blog.csdn.net/qq_29761395/article/details/111670956