Ubuntu16.04搭建ftp/tftp/nfs/ssh服务器

安装FTP服务

步骤1:安装 apt-get install vsftpd
步骤2:配置

cd /etc/vsftpd.conf
local_enable = yes #允许本地登录
write_enable = yes #允许上传文件

tftp服务
tftp服务介绍

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69。
TFTP是一个传输文件的简单协议,基于UDP协议而实现。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8为数据。——百度百科

安装tftp服务

步骤1:安装 apt-get install tftp-hpa tftpd-hpa tftp-hpa是client,tftpd-hpaserver
步骤2:建立tftp目录

mkdir /tftpboot # 建立用于tftp的服务器目录
chmod 0777 /tftpboot
touch test.txt

步骤3:配置

vi /etc/default/tftpd-hpa
然后再tftpd-hpa文件中设置如下:

TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/tftpboot” # 这是tftpd-hpa的服务目录 要和上面建立的服务器目录一样
TFTP_ADDRESS=”0.0.0.0:69”
TFTP_OPTIONS=”-l -c -s” # -c是可以上传文件

步骤4:重启服务
sudo service tftpd-hpa restart # 启动服务
步骤5:测试

cd /home
tftp localhost #localhost表示本机
tftp>get test.txt #test.txt是之前在/tftpboot目录下建立的文件
tftp>put test1.txt #test1.txt是在/home目录下新建的文件
tftp>q

退出后,在/home目录下会有一个test.txt文件,在/tftpboot目录下会有test1.txt文件,表示tftp服务器安装成功
上述过程完全参考Linux公社的文章。链接
安装服务中遇到问题:
问题1:

结果终端提示:
无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”

解决办法:

rm /var/cache/apt/archives/lock
rm /var/lib/dpkg/lock

参考链接
tftp开发板下载Ubuntu服务器文件目录

tftp -g -r xxx ipaddress

nfs服务
nfs服务介绍

nfs服务的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。nfs服务器可以允许nfs客户端将远端nfs服务器端的共享目录挂载到本地的nfs目录,比如下面我在本地主机上创建的/nfs目录。在本地的nfs客户端机器看来,nfs服务器端共享的目录就好像自己的磁盘分区和目录一样。——woshiliwentong 的BLOG

也就是,如果你有一块开发板,开启了nfs服务,就可以挂载服务器设置的共享目录到开发板上。开发板就是nfs客户端,Ubuntu就是nfs服务器。
比如:mount -t nfs 192.168.1.10:/root/rootfs /opt -o nolock
在开发板上执行:就是把Ubuntu(地址是192.168.1.10)下的/root/rootfs(我在Ubuntu上设置这个目录为nfs共享目录)挂载到开发板的/opt目录。
更为详细的参考链接

安装nfs服务

步骤1:安装 apt-get install nfs-kernel-server
步骤2:修改配置文件, 命令:vim /etc/exports
在文件最后添加:
/nfs *(rw,sync,no_root_squash,no_subtree_check)
其中:
/nfs 表示我创建的用于nfs的目录
* 表示允许所有的网段访问,也可以使用具体的IP
rw 表示挂接此目录的客户端对该共享目录具有读写权限
sync 表示资料同步写入内存和硬盘
no_root_squash 表示root用户对根目录的完全管理访问权限
no_subtree_check 不检查父目录的权限
注意:*和后面的括号都不能出现空格

步骤3:重启服务
1. sudo /etc/init.d/rpcbind restart
命令行信息:
[ ok ] Restarting rpcbind (via systemctl): rpcbind.service.
2. sudo /etc/init.d/nfs-kernel-server restart
命令行信息:
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.

步骤4:测试nfs服务是否成功
命令1:sudo /etc/init.d/nfs-kernel-server status
命令行信息:

● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
Active: active (exited) since 二 2017-11-14 20:26:28 CST; 12s ago
Process: 5691 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)
Process: 5687 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)
Process: 5685 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
Process: 5703 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
Process: 5700 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 5703 (code=exited, status=0/SUCCESS)

11月 14 20:26:28 lq-virtual-machine systemd[1]: Starting NFS server and services…
11月 14 20:26:28 lq-virtual-machine systemd[1]: Started NFS server and services.

命令2:sudo mount -t nfs localhost:/nfs /mnt
如果挂载成功,在mnt目录下创建a.txt,在nfs目录下也会对应有a.txt
取消挂载命令:sudo umount /mnt
参考链接
ssh服务
ssh服务介绍

SSH为Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH是目前较为可靠的,专为远程登录回话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄漏。
SSH是由客户端和服务器组成的软件。服务端是一个守护进程,在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。工作机制大致是本地的客户端发送一个连接请求到远程服务端,服务端检测申请的包和IP地址再发送密钥给ssh客户端,本地再将密钥发回给服务器,自此连接建立。——百度知道

和nfs服务的不同在,nfs服务是把主机Ubuntu上的一个nfs服务目录挂载到本地开发板上;而ssh服务是把开发板的整个目录挂载到主机上。一个简单的例子就是在windows下的secureCRT上使用ssh服务挂载Ubuntu的整个文件系统到secureCRT下,这样相当于在secureCRT下操作文件系统就和windows下操作文件系统一样了。
安装ssh服务

步骤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的远程登录工具访问服务器时,服务器默认端口是22。
参考链接
因为后面可能会用到ssh服务,而且其实以前搭建过ssh服务,但是感觉不好用,就没怎么用过了,现在看好像以前玩的太low了。以后要把后续的ssh服务连接secureCRT的过程添加上来。

总结:曾经有几个月的学习《计算机网络原理》的时间,我学完也没记笔记,等到我现在看到端口什么词语的时候,我只感到一点熟悉感。如果在给我一次机会,我会把我所学所想,都用博客记下来,如果给这个机会加一个期限,我希望是。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值