无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

问题描述

Ubuntu默认情况下未安装ssh服务,且系统处于离线环境中并且身边又没有U盘,此时需要与Ubuntu传输文件该怎么做呢?

解决方法

当Ubuntu处于离线环境,且未安装ssh服务时,我们依然可以高效的与Windows传输文件。只需简单两步,即可实现文件互传。

1.首先在Windows中创建共享目录

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

设置共享权限,确保当前登录用户有读写权限

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

共享成功后如下图所示,会出现一个网络路径\主机名共享目录

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

2.在Ubuntu中打开终端,创建一个目录用于挂载Windows共享目录

mkdir test
无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

使用mount命令,将Windows共享目录挂载至Ubuntu

#-t 指定要挂载的文件系统类型,-o指定共享目录用户名与密码
sudo mount -t cifs,smb3 //10.10.20.167/scripts test/ -o username=administrator,password=admin@123
无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

此时就可以在windows主机中将需要上传的文件拷贝进共享目录中,以此实现UbuntuWindows之间的文件互传

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

Ubuntu的挂载目录查看

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

PS:上述场景为内网直连互传文件,其他场景中不建议直接将密码暴露在shell中。

推荐方法

将密码写入临时文件中作为变量来调用,且变量仅对当前shell生效。同时设置定时任务每分钟执行一次用于检查是否存在该临时文件,如果存在则进行删除操作,避免忘记删除而造成密码泄露。

创建一个隐藏文件.smb,在其中写入用于连接smb的用户名和密码。文件保存后使用source .smb来加载使其立即生效。

nano .smb
USERNAME=administrator
PASSWORD=admin@123

使用chmod对该文件设置权限,仅允许root用户和test查看和修改,其他用户无权限。

chmod 700 .smb

修改后的文件权限如下

此时只有test用户和root能够访问该文件,其他用户无权限

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

创建定时任务,每分钟检查并删除该临时文件(具体删除时间根据实际情况设置)

crontab -e
#在文件末尾写入以下内容
* * * * *  [ -f /home/test/.smb ] && rm -rf /home/test/.smb
无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

此时如果检查到用户目录下存在.smb文件,就会自动删除,以此来提高安全性

无SSH服务:离线环境中Ubuntu与Windows之间轻松实现文件传输

▽往期推荐△











原文始发于微信公众号(青菜浪人):

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/308356.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!