用smb和SSH实现windows和虚拟机ubuntu共享文件、交互操作

本文介绍了如何在不添加新账号的情况下,通过smb和SSH实现Windows与虚拟机Ubuntu之间的文件共享和交互操作。主要内容包括安装openssh-server和samba服务,配置smb.conf文件,设置SMB密码,以及在Windows下映射网络驱动器。同时,讨论了两种虚拟机配置模式:桥接模式和NAT模式,详细说明了各自的操作步骤和注意事项。

快速配置

不添加新的SSH或者SMB账号,直接使用系统账号。

1、 sudo apt-get install openssh-server     安装sshd服务

2、直接使用系统账号在ssh客户端连接登录

3、sudo apt-get install samba      安装samba服务

4、 sudo gedit /etc/samba/smb.conf

[share]                    //windows映射名,"\\192.168.85.128\share",映射成功即登陆到共享文件夹
  path = /home/xxx        //共享文件夹路径
  valid user = share tukery   //将系统账号tukery添加在这里,可以加很多个,空格隔开
  available = yes
  browseable = yes
  writable = yes
  public = yes                //不需要通过账号密码登陆

5、在Windows下添加一个映射,不需要账号和密码 ,有两种映射方法:

(1)通过虚拟机ip地址映射:\\192.168.85.128\share

(2)通过hostname映射(推荐),查看/etc/hostname内容(计算机名),确保在/etc/hosts中有“127.0.0.1 xxxx"或者“127.0.1.1 xxxx"对应行(xxxx就是计算机名)

Windows下映射:\\xxxx\share

 

<--------------------------------------------------------------分割线------------------------------------------------------------------------->

配置账号和密码

1、下载安装smb和SSH后,创建共享目录/home/caotuo

2、新建账号密码(wusimin/123456)

root@caotuo:/home/caotuo# adduser wusimin
正在添加用户"wusimin"...
正在添加新组"wusimin" (1003)...
正在添加新用户"wusimin" (1003) 到组"wusimin"...
创建主目录"/home/wusimin"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码:         //123456
重新输入新的 UNIX 密码:     //123456
passwd:已成功更新密码
正在改变 wusimin 的用户信息
请输入新值,或直接敲回车键以使用默认值
	全名 []: 
	房间号码 []: 
	工作电话 []: 
	家庭电话 []: 
	其它 []: 
这些信息是否正确? [Y/n] y
root@caotuo:/home/caotuo#
root@caotuo:/home/caotuo# 
root@caotuo:/home/caotuo# service smbd restart    //重启smb服务

此时就可以用账号密码(wusimin/123456)登陆SSH连接到Ubuntu了,但是还不能用smb访问共享文件夹。若使用root账号不能登录SSH,则检查ssh配置文件

vim /etc/ssh/sshd_config:

(1)将PermitRootLogin without-password本行注释,添加一行,内容为: PermitRootLogin yes。然后执行保存。本机初始设置为PermitRootLogin prohibit-password

# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes    //允许直接用root账号密码登陆
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

#若无法登陆,可以打开以下开关,本机测试时未打开
#PasswordAuthentication yes

(2)根据实际情况,决定是否打开 “#PasswordAuthentication yes”,本机未打开也可以登录。

若修改了sshd_config文件,则要重启ssh,执行命令为/etc/init.d/ssh restart。(service sshd restart或service sshd reload)

3、配置smb.conf,添加SMB账号

[share]                    //windows映射名,"\\192.168.85.128\share",映射成功即登陆到共享文件夹
  path = /home/caotuo        //共享文件夹路径
  valid user = share wusimin   //将新的smb账号添加在这里,可以加很多个,空格隔开
  available = yes
  browseable = yes
  writable = yes
  public = no                //必须通过账号密码登陆

如果不需要账号密码就能直接映射,可以再添加"security = user"语句,表示输入账号密码才可以访问共享文件夹。

4、设置SMB密码,然后就可以在windows下直接映射了 

root@caotuo:/home/caotuo# smbpasswd -a wusimin    //使用root账号给账号wusimin设置密码
New SMB password:            //123456
Retype new SMB password:    //123456
Added user wusimin.
root@caotuo:/home/caotuo#

5、将普通用户(tuo)权限配置为root

vim /etc/passwd 

将 tuo:x:1004:1004:,,,:/home/tuo:/bin/bash 修改为

tuo:x:0:0:,,,:/home/tuo:/bin/bash,但此时不能以tuo账号访问smb了,必须将root账号添加到smb.conf,然后以root账号去访问smb。

这样每次SSH登陆账号tuo后,系统自动配置当前为root账号,而且登陆的目录是tuo账号的默认路径,而不是root目录。

虚拟机的配置

方法一:桥接模式,依赖局域网,比如无线网卡必须连到路由器

root@caotuo-virtual-machine:/home/caotuo# ifconfig

ens33     Link encap:以太网  硬件地址 00:0c:29:4a:b2:f1 

          inet 地址:172.32.11.12  广播:172.32.11.255  掩码:255.255.255.0

          inet6 地址: fe80::5f72:1c2e:f335:8f0f/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1

          接收数据包:4614 错误:0 丢弃:0 过载:0 帧数:0

          发送数据包:2054 错误:0 丢弃:0 过载:0 载波:0

          碰撞:0 发送队列长度:1000

          接收字节:557358 (557.3 KB)  发送字节:521609 (521.6 KB)

Ubuntu中下载并安装smb服务,然后配置账号和密码

Windows下无线网卡会由路由器分配一个172.32.11.*的Ip,在windows和虚拟机中互相Ping,ping通就可以直接在windows下映射了。映射Ip: 172.32.11.12

 

Ubuntu中下载并安装SSH服务,然后配置,Ubuntu登陆账号和密码就是SSH账号密码

这种方法还没有实现SSH登陆到虚拟机的Ubuntu,待验证。

 

方法二:NAT模式,独立,不依赖局域网

root@caotuo-virtual-machine:/home/caotuo# ifconfig

ens33     Link encap:以太网  硬件地址 00:0c:29:4a:b2:f1 

          inet 地址:192.168.85.128  广播:192.168.85.255  掩码:255.255.255.0

          inet6 地址: fe80::5f72:1c2e:f335:8f0f/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1

          接收数据包:9023 错误:0 丢弃:0 过载:0 帧数:0

          发送数据包:5545 错误:0 丢弃:0 过载:0 载波:0

          碰撞:0 发送队列长度:1000

          接收字节:1198485 (1.1 MB)  发送字节:1222437 (1.2 MB)

Ubuntu中下载并安装smb服务,然后配置账号和密码

查看虚拟机网关:

 

在windows下配置

在windows和虚拟机中互相Ping,ping通就可以直接在windows下映射了。映射Ip: 192.168.85.128

Ubuntu中下载并安装SSH服务,然后配置,Ubuntu登陆账号和密码就是SSH账号密码,OK.

注意:如果要用git更新服务器上的代码,则还是需要用桥接模式接入局域网

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值