一、SCP

1.SCP的认识

SCP是基于SSH(远程访问操作其他主机)实现远程文件传输的命令,我们可以使用SSH远程登陆其他主机,使用SCP命令将其他主机文件文件夹传输到本地或者将本地文件文件夹发送到远端,这对我们来说在工作中是非常便利的。

2. SSH的安装

安装命令:

sudo apt install -y openssh-server

3.使用前的准备工作

使用SSH来访问远程主机我们需要知道被访问主机的用户名以及被访问主机的IP地址,我们可以使用ifconfig命令来查询其IP地址。

注意:使用ifconfig命令时要安装net-tools,安装命令如下

sudo apt-get install net-tools

查询你的IP地址,结果如下图所示下,红线标记处即为IP地址。

4、SSH的使用

通过上面的几步,相信你已经做好了准备工作并懂得了如何获取IP地址,那么接下来我们就开始尝试使用SSH连接到远程主机吧。我们进行连接请求的命令格式为:ssh username@IP

当你第一次使用此命令时,系统会提示你是否要接受密钥登陆,这里我们选择yes
当你输入yes并回车之后,它会提示你输入被访问主机用户的密码,我们输入密码后,我们就成功登入别人的电脑。

在这里我要访问的远程主机IP地址为192.168.1.111,用户名为qian,那么我们使用的命令就是

ssh qian@192.168.1.111

可以观察到,用户名已经由frank(我)变成qian(远程主机)了,这就说明我们的操作是成功的。

5.SSH密钥登录

还记得上面提到过的密钥登录吗?现在我就来为你解答,刚才我们经过一系列操作登录了别人家的电脑,我们刚才的登陆方式被称之为密码登录(你是否记得在某一步里我们需要输入远程主机的密码才能登陆),密钥登录比之密码登录更加的安全,密钥可以理解为被强化了n倍的密码,当你的账户密码过于简单时,很容易被人暴力破解,这样一来你的电脑内各种资料就会岌岌可危,这在一些公司里是致命的。

密钥分为公钥和私钥,他们的区别读者可以自行百度,在这里不过多赘述,只需要明白一点:私钥不可外泄、使用私钥可以更安全的登录配置了公钥的主机。

①生成密钥
我们需要再打开一个终端,在自己的电脑终端来下面执行指令

ssh-keygen -b 2048

其中 -b代表着生成一对钥匙(公钥和私钥) 2048则代表着钥匙的加密方式

接下来我们一路回车,最终结果是下面这样的

上图被我用鼠标标记为高亮的id_rsa即为私钥,他在/home/frank/.ssh文件夹里

与之对应的公钥名为id_rsa.pub,同样位于/home/frank/.ssh文件夹中

我们进入.ssh文件夹,使用ll命令查看一下私钥的权限,这里要注意的是,私钥的权限只能我们自己有,当私钥权限不止我们拥有时,SSH会拒绝执行命令

②SCP初运用
听我啰里啰唆讲了这么多,接下来终于到了我们的重点环节:scp指令的运用

前面我们说过,要想使用密钥登陆远程主机,我们要把私钥拿在手里,把公钥发送到目标电脑上存入特定的位置,我们发送公钥使用的就是scp命令,将公钥发送到远程主机某一目录下的命令格式为:scp id_rsa.pub@IP:absolute path address

以我为例:id_rsa文件发送目的地为IP地址为192.168.1.111,用户名为qian的远程主机。我要将它存放到远程主机/home/qian/的目录下,那么我的指令就是

scp id_rsa.pub qian@192.168.1.111:/home/qian/

注意:此时我的终端位置处于id_rsa.pub所在的文件夹中

输入远程主机账户密码后,稍等片刻,公钥文件就发送到了远程主机,此时打开之前连接上了远程主机的终端,进入/home/qian/目录下,查看当前目录下的文件,会发现id_rsa.pub文件被传输了过来。

到目前为止,我们已经对scp的初步运用有了了解,但是对密钥登陆的配置还没完呢,刚才我仅仅将公钥发送到了远程主机,下一步还需要将远程主机上的公钥放在一个特殊的文件夹里,这个文件夹就是.ssh文件夹。

接下来,我在远程主机的/home/qian/目录下建立.ssh文件夹,进入.ssh文件夹,我们使用下面命令:

cat id_rsa.pub > .ssh/authorized_keys

这条指令的含义是,将id_rsa.pub文件里的内容写入.ssh文件夹内的suthorized_keys文件中,若原来.ssh下authorized_keys不存在,执行此命令后authorized_keys会自动创建。

现在,我们就可以使用密钥登陆了,如何验证呢?我关闭我的所有终端,然后在我电脑上打开一个新的终端,使用连接远程主机命令

ssh qian@192.168.1.111

这次我不需要输入密码就可以直接登录远程主机,这就代表着我们刚才的配置是成功的。

至此,实现scp传输文件以及配置SSH的操作我们已经完成了。

二、NFS

1、初识NFS

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。

2、SSH的安装

安装命令

sudo apt-get install nfs-kernel-server
sudo apt-get install nfs-common

3、配置工作

我们在根目录下创建nfs文件夹

sudo mkdir /nfs

然后我们更改一下它的权限

chmod -R 777 /nfs
chown -R nobody /nfs

接下来,我们进入/etc目录,用vim打开一个名为exports文档,此文档是用于添加我们想要共享的目录的,比如我们想将刚刚创立的/nfs目录作为共享目录,那么我们就可以将其写入此文档中,并且还可以在里面设置共享目录的权限,如下图所示

*:此共享目录对所有人开放

rw:共享目录可读可写

bo_subtree_check:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率

no_root_squash:来访的root用户保持root帐号权限

接下来退出并保存此文档,我们需要重启一下nfs服务器使配置生效,命令如下:

service nfs-kernel-server restart

此时会提示我们输入密码,输入密码后重启完成,配置生效。我们查看一下nfs服务器的运行状态

service nfs-kernel-server status

像这样就是启动成功了

4、NFS服务测试

到目前为止,我们就已经完成了所有对nfs服务器的配置,那么现在我们就要开始测试我们所配置的服务器究竟能不能用, 在这里有一点要特别注意,那就是使用nfs共享目录的两个或多个主机要同时存在于同一网段下。
测试方法:我们使用主机,这里我同样使用上面我用过的另一台主机, 在这里我在我自己的电脑上使用SSH远程访问别人的电脑,控制别人的电脑上nfs的客户端来将我们自己电脑上的共享目录挂载到别人电脑下的某一目录下,这样别人的电脑就可以通过访问他选择的挂载点来查看我们共享的内容 我们使用的指令格式为:sudo mount -t nfs 服务器IP:共享目录地址 客户端挂载地址 -o nolock

我要访问的服务器IP为:192.168.1.108 共享目录所在地址为:/nfs 客户机挂载地址为:/mnt

那么我使用的指令就是

sudo mount -t nfs 192.168.1.108:/nfs /mnt -o nolock

客户端mnt目录原来为空目录,同时我在服务器端nfs目录下建立了一个test_nfs.txt文件,当我使用上述指令后,可以发现,在客户端mnt目录中出现了text_nfs.txt文件,这表明我们挂载成功,运行结果如下

三、TFTP

1、TFTP简介

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

2、安装客户端与服务端

sudo apt install -y tftpd-hpa
sudo apt install -y tftp-hpd

其中tftpd-hpa为服务器端,tftp-hpd为客户端

3、配置服务器端

我们首先找到tftp服务器的配置文件,它位于/etc/default/tftpd-hpa,用vim打开,我们将其配置为

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/mnt/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

接下来我们创立文件目录 /mnt/tftp,使用指令更改其权限,使其可以被更宽泛的访问(共享文件权限开放度高,但最好只是临时使用):

sudo chmod -R 777 /tftp
sudo chown -R nobody /tftp

配置好之后,我们使用指令重新启动一下服务器

sudo service tftpd-hpa restart

我们查看一下服务器状态,如下图所示即为成功

4、测试运行

我们在服务器端/mnt/tftp文件夹中创建一个text_tftp.txt测试文档,使用另一台机器( 注意:要和服务器主机在同一局域网下,并且安装了tftp客户端)。运行下列命令

tftp 服务器IP

在这里我要访问的服务器IP为:192.168.1.108,于是我应该执行

tftp 192.168.1.108

我们进入以下界面

我们就可以进行下载(get),传输(put)指令了,我们下载一下测试文件,键入 get 文件名 即可 运行完下载命令之后,我们键入q退出客户端,进入/mnt目录,你会发现,test_tftp.txt文件安静的躺在那里

四、使nfs mount永久生效

若要使nfs mount永久生效,我们需要修改/etc/fstab文件内的相关配置,此文件里面存储的是系统启动时自动挂载的所有文件系统,我们要小心配置。 我们打开此文件,在其中添加以下内容:

服务器IP地址:共享目录地址 客户端挂载地址 版本 defaults 0  0

保存此配置,下一次你开机时共享文件夹就会自动挂载。

SCP、NFS、TFTP的配置相关推荐

  1. linux ubuntu 安装samba ftp nfs tftp,Ubuntu配置TFTP和NFS和samba服务配置.doc

    Ubuntu配置TFTP和NFS和samba服务配置 配置tftp服务的步骤: 1.安装相关软件包:tftpd(服务端),tftp(客户端),xinetd sudo apt-get install t ...

  2. 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写

    bootloader原理和开发-->kernel构建-->文件系统/根文件系统(filesystem/rootfs) APP 一.配置交叉编译环境(可参考嵌入式Linux移植与驱动开发co ...

  3. 【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)

    作者 : 万境绝尘 博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237 一. 相关工具下载 嵌入式开发工具包 : -- 下 ...

  4. linux 6.7 nfs安装yum,centos7下NFS使用与配置

    NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下 nfs为什么需要RPC? 因为NFS支持的功能很多,不同功能会 ...

  5. NFS介绍、NFS服务端配置安装配置、 NFS配置选项、 客户端的配置

    NFS介绍 NFS是Network File System的缩写 ,是在网络层面,NFS(Network File System)网络文件系统会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不 ...

  6. Ubuntu上nfs的安装配置

    Ubuntu上nfs的安装配置 2007-07-01 09:04 Ubuntu 默认是没有nfs服务的,所以需要自己安装 1.安装nfs服务版            apt-get install n ...

  7. linux7 security,SECURITY-centos7下NFS使用与配置

    NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. nfs为什么需要RPC? 因为NFS支持的功能很多,不同功能 ...

  8. NFS服务的配置过程

    NFS服务的配置过程 服务端: 1)安装nfs和rcp服务 yum install nfs-utils rpcbind -y 因为NFS支持的功能多,不同的功能会使用不同的程序来启动 每启动一个功能就 ...

  9. 网络云存储技术Windows server 2012 (项目十三 NFS共享的配置与管理)

    网络云存储技术Windows server 2012 (项目十三 NFS共享的配置与管理) 目录 前言 一.项目背景 二.项目实训题 三.环境准备 四.操作步骤 前言 网络存储技术,是以互联网为载体实 ...

最新文章

  1. Spring事务管理(详解+实例)
  2. 网工协议基础(3) IP地址
  3. c语言程序设计夏宽理第三版答案,(100)西南大学2021计算机考研数据速览(特别更新版),民族脊梁袁隆平院士的母校!...
  4. 让网站变成灰色插件 可以设定特殊时间
  5. k8s mysql 弹性_kubernetes云平台管理实战:k8s弹性伸缩(十八)
  6. ie系列浏览器_IE浏览器换Logo,真担心你上网找不到图标
  7. 使用explain查询select查询语句执行计划
  8. eclipse引入jar类包的源代码
  9. ubuntu 18.04 卸载 mysql 过程记录
  10. 微軟將在廉價筆記本電腦上測試Windows
  11. oracle11数据库导入,Oracle11g数据库之数据导入导出与事物
  12. 12v直流电机并联多大电容_对电容的理解
  13. unity和python哪个好学_纠结学习Python还是unity3d_课课家教育
  14. mysql怎么查询两页数据_mysql分页查询踩坑报告
  15. java电商三级地址_Java电商项目面试--收货地址模块
  16. [BZOJ4199][NOI2015]品酒大会(后缀数组+单调栈+ST表)
  17. JFugue4.0 中文说明
  18. 如何在 Windows 中删除运行历史记录
  19. 50行实现C语言FM收音机-Taskbus Stdio封装器在SDR课程中的应用
  20. 中国传统风格水墨实时渲染

热门文章

  1. unilife-fridge-producetion-show
  2. Mac OS下不产生.DS_Store 隐藏文件和清理.DS_Store的方法
  3. Elasticsearch+filebeat+logstash+kibana集群
  4. 如何判断牛市是否来了,看这4种指标就够了
  5. C++学习——基于binance的AS做市模型
  6. cmdy5(cmdy5庆余年)
  7. Windows CMD命令行进行日期计算及本件备份
  8. Leecode 刷题记录 1217 玩筹码
  9. PBR--RTR4笔记--第八章 光与颜色
  10. 基于树莓派4b的ubuntu20.04mate配合思岚科技A1激光雷达读取数据,建图、保存和基于arduino的下位机控制