samba+Xshell连接Linux共享目录

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://linsh-tech.blog.csdn.net/article/details/70158421

引言:

之前我们在Windows下建立共享目录,然后再Linux中去访问的步骤,那么反过来,假如此时Linux服务器处于远端(例如云服务器),那就需要在Linux系统下创建共享目录,使用samba启动远程服务器,然后再Windows下使用建立网络位置去访问。此外,假如只是要访问Linux上的终端进行指令操作,只需在Linux上安装openssh-server openssh-client,在Windows下使用Xshell来访问,接下来我们就来试一下这个操作过程。

samba服务器:

linux操作:

  • 工装工具:
    需要安装必要的工具:samba

    linsh@ubuntu:~$ sudo apt-get update
    linsh@ubuntu:~$ sudo apt-get install samba samba-common

    可以使用samba --version查询是否安装成功。

  • 创建共享目录:

    sudo mkdir /home/share
  • 提升权限:
sudo chomd 777 /home/share
  • 修改配置文件:
    打开samba的配置文件smb.conf进行内容编辑:

    sudo vim /etc/samba/smb.conf

    在配置文件的末尾假如以下内容,表示共享当前linsh用户中的所有目录:

    security = user #有用户密码验证的方式, security = share免密码
    [linsh]
    path = /home/share
    writeable = yes
    valid users = linsh
    browseable = yes
    public = yes
    writeable = yes
    printable = no
    create mask = 0777
    sync always = yes

    这里linsh是命名用户,必须是Linux下已有的用户名,接下来还需要设置密码:

    linsh@ubuntu:/application/skynet$ sudo smbpasswd -a linsh
    [sudo] password for linsh: 
    New SMB password:
    Retype new SMB password:
    Added user linsh.

windows操作:

  • 网络共享连接Linux共享目录:

    • 在Windows下的资源管理界面新建一个网络位置:
    • 添加网络地址:

    常见问题:
    Windows添加网络连接,出现了“您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限“这样的连接错误。查询了Linux的/var/log/samba/log.pc201207261104日志内容,发现有一下输出:

    [2017/04/13 15:29:07.973502,  0] ../source3/param/loadparm.c:3259(process_usershare_file)
    process_usershare_file: stat of /var/lib/samba/usershares/share failed. Permission denied
    [2017/04/13 15:29:07.974508,  0] ../source3/param/loadparm.c:3259(process_usershare_file)
    process_usershare_file: stat of /var/lib/samba/usershares/share failed. No such file or directory

    原因:分析此日志,可以知道报错的原因是当前用户在指定的共享目录下权限不够Permission denied
    解决方案:

    • 提高该目录的权限:
      sudo chmod 777 /home/linsh/share
    • 重启samba服务:
      sudo /etc/init.d/samba restart

    也可能是Linux下的防火墙导致的,可以把防火墙给关掉:

    linsh@ubuntu:~$ sudo ufw disable
    [sudo] password for linsh: 
    防火墙在系统启动时自动禁用

Xshell远程访问Linux终端:

Linux操作:

安装支持ssh协议的工具:

linsh@ubuntu:~$ sudo apt-get install openssh-server openssh-client

Windows操作:

  • 安装Xshell工具用于连接Linux;
  • 端口没有特殊规定,但是Ip地址必须是所要连接的远程服务器的Ip地址,可以通过以下方式查询:
  • 打开Xshell,然后添加一个新的会话:

  • Ip问题:
    连接的时候出现连接失败,卡在这里不动了:

    Connecting to 192.168.35.132:8888...
    Connection established.
    To escape to local shell, press 'Ctrl+Alt+]'.

    原因是Linux是在VMware中安装的,其vmnat 1,8有与跟主机的Ip处于同一网段,甚至是相同Ip,网络混乱了,所以无法连接,解决方案如下:

    • 关闭虚拟机,然后点击VMware顶部菜单栏:编辑->虚拟网络编辑器,点击还原默认设置按钮:

    • 重启虚拟机,启动samba服务

      sudo /etc/init.d/samba start
    • 重新查询Ip添加会话然后连接。

  • 身份验证:

    • 首次连接会弹出密钥许可验证,点击接受并保存即可:
    • 连接正常的话,会弹出账号密码验证窗口,输入正确的Linux远程机器的登录账号密码即可:

    • 验证成功可以看到:
展开阅读全文

没有更多推荐了,返回首页