2022-10-28 12:55:59548浏览
我们通常推荐在虚拟机里面安装 VMware-tools ,VMware-tools 正常工作的情况下,我们可以直接把文件复制甚至拖放到虚拟机里面去,但是 VMware-tools 并不能完美适配所有的操作系统,这时
候我们就需要一些补救措施了。本文所示即使用 WinSCP 传输文件的方案,需要注意的是:这种方法只适用于Windows与Linux 之间传递文件。
一、 安装 WinSCP
scp
命令是Linux上用于在不同主机之间传递文件的方法,而 WinSCP 则使得 Windows 也可以接入 Linux 的传输协议SSH,从而方便地在 Windows 与 Linux之间传递文件。
因此使用 WinSCP 的局限性也显而易见:只适用于 Linux 虚拟机。
1. 访问WinSCP 的下载页面地址:https://winscp.net/eng/download.php。
2. 点击这个按钮开始下载:

不过下载地址可能被墙,如果遇到不能下载的问题可以问老师。
3.下载完成之后点击安装
4. 安装模式——“为所有用户安装”

5. 允许更改

6. 接受协议

7. 默认“典型安装”,然后下一步

8. 界面选择“Commander”,然后下一步

9. 点击安装

10. 稍作等待,点击完成

二、 Linux 虚拟机开启 SSH 服务
不同的虚拟机开启 SSH 服务的方式有所不同,这里我们以Kali 2022 为例。
1. Kali 开机,以 root 身份登入

2. 打开一个命令终端
3. 打开SSHD配置文件
使用命令:
xdg-open /etc/ssh/sshd_config
这句代码可以在编辑器中打开目标文件,如果你熟悉 vim 的使用的话也可以使用 vim 来编辑。
如果编辑器有警告,不用管。
4. 找到 PermitRootLogin
这一行
把这一行的内容改成 PermitRootLogin yes
,且前面不能有 #
号。
如果PermitRootLogin
前面是 #
号,那么把#
号去除


如果 PermitRootLogin
后面不是 yes
,那么改成yes


5. 修改完成之后 Ctrl + S 组合键保存一下,然后关闭编辑器
6. 允许 SSH 开机自启动
命令是:
systemctl enable ssh
7. 启动 SSHD 服务
命令是:
service sshd start
8. 检查 22
端口是否已经启用
命令是:
lsof -i:22
如果 SSH 已经启用的话,显示通常是这样的:

命令后面至少有两行内容,如果只有一行或者没有,则说明未能开启。
三、 使用 WinSCP 连接 Linux
1. 网络设置要求说明
SSH 远程连接的前提是:WinSCP可以访问到SSH主机(即运行有 SSH 服务的Linux),因此需要双方的网络互通。
在 VMware 上,我们可以将Linux虚拟机设置为桥接模式,如果桥接模式不能使用,则应使用仅主机模式,不能使用 Nat 模式。
2. 查看 Linux 的 IP
命令是:
ip a
在 Kali 上,通常是查看网卡 ethX
,如 eth0
;
在 CentOS 上,通常是查看网卡 ensX
,如ens33
。
3. 启动 WinSCP,首次启动通常会自动弹出登陆界面
如果没有弹出的话点击“新建会话”。
4. 填写会话信息,然后点击登录
主机名填写目标Linux 的 IP
端口默认 22
用户名 root

5. 如果提示添加密钥到缓存,点击是

6. 如果网络、密码无误,那么就会成功登录

7. 就可以愉快地在两边任意传输文件了。
问题反馈