参考博主 http://t.csdn.cn/4pmms 的内容编写,感谢博主!

参考 10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端_服务器应用_Linux公社-Linux系统门户网站 的内容编写,感谢博主!

NFS协议

NFS(Network File System,网络文件系统)是众多文件共享协议之一,由于 NFS 使用起来非常方便,因此在 UNIX 操作系统中被广泛使用。NFS 的配置和使用其实都非常简单,NFS 跟其他文件共享协议一样,也是采用了 C/S 架构。但是,NFS 只提供了基本的文件处理功能,而不提供任何 TCP/IP 数据传输功能。它需要借助 RPC 协议才能实现 TCP/IP 数据传输功能。NFS 文件系统对客户端来说是完全透明的,访问 NFS 文件系统上的文件或目录就跟在访问本地的文件或目录一样!

假设你有一台运行 Ubuntu 18.04 的服务器,在这台服务器上,我们将会建立 NFS 服务器,并且另外一个运行其他 Linux 发行版的机器将作为 NFS 客户端。服务器和客户端应该能够通过私有局域网互相连接。

安装 NFS 服务器

sudo apt update
sudo apt install nfs-kernel-server

创建导出目录

我们要与客户端系统共享的目录称为导出目录。 你可以根据自己的选择来命名; 在这里,我们在系统的mnt(mount)目录中创建一个名为“linuxidc”的导出目录。

使用以下命令,根据需要通过以下命令指定安装文件夹名称:

sudo mkdir -p /mnt/linuxidc

因为我们希望所有客户端都能访问该目录,我们将通过以下命令删除文件夹的限制权限:

sudo chown nobody:nogroup /mnt/linuxidc

sudo chmod 777 /mnt/linuxidc

现在,客户端系统上所有组的所有用户都可以访问我们的“共享文件夹”。

您可以根据需要在导出文件夹中创建任意数量的子文件夹,供客户端访问。

通过NFS导出文件为客户端分配服务器访问权限

创建导出文件夹后,我们需要为客户端提供访问主机服务器计算机的权限。 此权限是通过位于系统的/etc文件夹中的exports文件定义的。 请使用以下命令通过Nano编辑器打开此文件:

sudo nano /etc/exports

编辑此文件需要root访问权限; 因此,您需要在命令中使用sudo。 您也可以在任何您喜欢的个人文本编辑器中打开该文件。

打开文件后,您可以允许访问:

  • 单个客户端通过在文件中添加以下行:

/mnt/linuxidc clientIP(rw,sync,no_subtree_check)

  • 通过在文件中添加以下行来多个客户端:

/mnt/linuxidc client1IP(rw,sync,no_subtree_check)

/mnt/linuxidc client2IP(rw,sync,no_subtree_check)

  • 多个客户端,通过指定客户端所属的整个子网:

/mnt/linuxidc 192.168.182.0/24(rw,sync,no_subtree_check)

/mnt/linuxidc 192.168.182.0/24(rw,sync,no_subtree_check)

在此示例中,我们指定了要为我们的主目录文件夹(linuxidc)授予访问权限的所有客户端的整个子网:

将所需的行添加到导出文件中,然后按Ctrl + X,输入Y,然后按Enter键保存。

此文件中定义的权限“rw,sync,no_subtree_check”表示客户端可以执行以下操作:

  • rw:读写操作
  • sync: 在应用之前将任何更改写入光盘
  • no_subtree_check:阻止子树检查

在 Ubuntu 上安装 NFS 客户端

sudo apt-get update
sudo apt-get install nfs-common
sudo mount -t nfs 192.168.0.100:/home/robot /mini_robot

为NFS主机的共享文件夹创建安装点

您的客户端系统需要一个目录,可以访问导出文件夹中主机服务器共享的所有内容。 您可以在系统的任何位置创建此文件夹。 我们在客户端机器的mnt目录中创建一个mount文件夹:

sudo mkdir -p /mnt/linuxidc_client

在客户端上挂载共享目录

您在上述步骤中创建的文件夹与系统上的任何其他文件夹类似,除非您将共享目录从主机安装到此新创建的文件夹。

使用以下命令将共享文件夹从主机安装到客户端上的装入文件夹:

sudo mount serverIP:/shareFolder_server /mnt/mountfolder_client

在我们的示例中,我们运行以下命令将“linuxidc”从服务器导出到客户端计算机上的mount文件夹“linuxidc_client”:

sudo mount 192.168.182.172:/mnt/linuxidc /mnt/linuxidc_client

测试连接

请在NFS主机服务器的导出文件夹中创建或保存文件。 现在,打开客户端计算机上的mount文件夹; 您应该能够在此文件夹中查看共享和访问的同一文件。

总结

在Ubuntu系统上设置NFS客户端 - 服务器环境是一项简单的任务。 通过本文,您学习了如何在服务器和客户端上安装所需的NFS包。 您还学习了如何配置NFS服务器和客户端计算机,以便可以共享文件夹,然后在没有任何防火墙或权限相关故障的情况下顺利访问文件夹。 现在,您可以使用NFS协议轻松地将内容从一个Ubuntu系统共享到另一个系统。

SSH协议

命令行界面远程管理协议,几乎所有操作系统都默认支持这个协议。
和Telnet不同,此协议在数据传输时对数据加密并压缩,也就意味着传输数据安全且快速。

步骤1:安装ssh-server apt-get install openssh-server
步骤2:安装ssh-client apt-get install openssh-client
步骤3:确认ssh服务是否成功 ps -e|grep sshd
命令行信息:
6949 ? 00:00:00 sshd
看到sshd表明ssh-server启动了
步骤4:如果没有该信息 /etc/init.d/ssh start
命令行信息:
[ ok ] Starting ssh (via systemctl): ssh.service.

ssh默认端口登录服务器

ssh 用户名@IP地址
ssh q@192.168.1.72

ssh指定端口登录服务器

ssh 用户名@IP地址 -p 端口号
ssh q@192.168.1.72 -p 22

无密码登录

生成秘钥
ssh-keygen

复制秘钥
ssh-copy-id -i .ssh/id_rsa.pub robot@192.168.0.100

多机通信
gedit ~/.bashrc
export ROS_MASTER_URI=http://192.168.0.100:11311
export ROS_HOSTNAME=192.168.0.160
source ~/.bashrc

SFTP协议

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。
ubuntu连接服务器

使用sftp默认的端口号进行登录服务器

sftp 用户名@IP地址
sftp q@10.124.163.133

使用sftp加端口号的方式进行登录服务器

sftp -p 端口号 用户名@IP地址
sftp -P 22 q@10.124.163.133

使用sftp下载文件或者文件夹到本地

sftp q@10.124.163.133
get -r dir 要存放的路径

使用sftp上传文件或者文件夹到服务器

sftp q@10.124.163.133
put -r dir 要存放的路径

SCP协议

scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

scp -r 原始路径 目标路径

上传数据到服务器

scp -r q@192.168.1.72:/home/dataset/ ./
scp -r /home/q/data_1613 s@192.168.1.95:/media/DATA/

下载数据

scp -r s@192.168.1.95:/media/DATA/ /home/q/

使用scp下载文件或者文件夹到本地

scp -r 服务器的用户名@服务器IP:要把服务器哪里的数据传输到本地 要把数据放在本地哪里
scp -r q@192.168.1.72:/home/projects /projects/

使用scp上传文件或者文件夹到服务器

scp -r 本地数据路径 服务器的用户名@服务器IP:要把数据放在服务器的哪里
scp -r /home/q/projects root@10.0.0.130:/projects

ubuntu NFS SCP SFTP相关推荐

  1. Java程序调用ssh, scp, sftp

    为什么80%的码农都做不了架构师?>>>    在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并 ...

  2. Ubuntu nfs配置

    Ubuntu nfs配置 被挂载端(10.0.0.2): # apt-get install nfs-kernel-server # vi /etc/exports 按a或i进入编辑模式 /home ...

  3. [转]讲解安装Ubuntu nfs配置系统

    转自:http://os.51cto.com/art/201001/176511.htm 对大家推荐很好使用的nfs服务系统之前,像让大家对Ubuntu nfs服务系统有所了解,然后对Ubuntu n ...

  4. Ubuntu NFS服务器的配置

    大部分内容转自文章: http://blog.csdn.net/yangzhu1982/article/details/6265175 这里对NFS服务器就不多加介绍,想要配置该服务器的朋友定然会知道 ...

  5. Ubuntu nfs服务器共享文件夹

    实现文件共享的前提:两台机器能够相互ping通!!! 服务器端设置如下: 1. 安装NFS server软件 sudo apt-get install nfs-kernel-server 2. 创建共 ...

  6. ubuntu nfs 服务器搭建

    参考资料:朱老师物联网大讲堂嵌入式linux一期课程,环境搭建相关资料(微信搜索"朱老师物联网大讲堂",关注公众号可下载相关资料) ubuntu nfs 服务器搭建 前言 一.安装 ...

  7. SSH,SCP,SFTP命令汇总

    ssh远程连接总结: 1:直接连接到远程主机上面,-p22代表ssh端口 root代表远程主机的用户名@172.16.1.31代表远程主机的IP地址.(直接切到远程主机上) [root@m01 ~]# ...

  8. ubuntu nfs

    Ubuntu 默认是没有nfs服务的,所以需要自己安装 1.安装nfs服务版            apt-get install nfs-kernel-server 2.修改nsf配置文件    v ...

  9. Ubuntu NFS搭建过程

    简介 NFS:是Network FileSystem.最大的作用就是通过网络,让不同的机器.不同的作业系统.可以分享档案. 通过将共享目录挂接到本地,就可以像操作本地目录一样去操作共享的目录. 在共享 ...

最新文章

  1. hbase以mr导数据方式
  2. 在网易,我是怎样做项目管理的?
  3. c语言基础学习08_关于内存管理的复习
  4. Arduino各开发板针脚示意图
  5. 交换分区的查看与扩容
  6. python:将一个文件转换为二进制文件(binary)
  7. 面试官:如果让你设计一个消息中间件,如何将其网络通信性能优化10倍以上?【石杉的架构笔记】...
  8. python 目录 文件名_python目录与文件名操作
  9. Springboot-importSelector
  10. UR5 IK group中遇到的问题
  11. python 基本数据类型及其功能-2-字符串 重点命令
  12. 优化神器 beamoff
  13. 不同云服务商之间域名转出转入(阿里云 转出至 腾讯云)
  14. java8新特性 函数式编程 Lamda
  15. xposed框架安装使用步骤
  16. windows键被禁用_如何在Windows 10上禁用插入键
  17. Java 时间日期API总结
  18. 2020年ICPC辽宁省赛- 最长回文串(Java)
  19. sandboxie游戏不能运行在虚拟环境中如何解决_Sandboxie:这款曾卖一百多的知名沙盘软件,现在免费开源了...
  20. GhostXP_SP3完整纯净版V3.5 By songyongzhi

热门文章

  1. 深度学习中数据的拆分打乱
  2. 物流行业大数据分析:数据驱动物流运营效率提升
  3. 目前国内可用的前端库及Zdir自建前端库
  4. VUE使用JS-SDK实现微信分享好友功能(通过点击控件触发)
  5. 内网计算机安全使用规则,局域网网络安全注意事项
  6. deepin更新失败_更新失败
  7. WinUSB - 微软为所有 USB 设备提供的常规驱动程序
  8. Northleaf扩大业务开发团队,任命Chris O’Connor 为澳大利亚和新西兰地区董事总经理
  9. 实现 酷狗音乐 歌词播放效果
  10. 黑暗爆炸 #1059. [ZJOI2007]矩阵游戏