ubuntu NFS SCP SFTP

参考博主https://blog.csdn.net/qq_48764929/article/details/123946134?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165063515916781483722847%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165063515916781483722847&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~times_rank-2-123946134.142v9control,157v4control&utm_term=ubuntu+NFS+SCP+SFTP&spm=1018.2226.3001.4187的内容编写
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 服务器
————————————————
版权声明:本文为CSDN博主「dfjkhksc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dfjkhksc/article/details/123815518

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值