OpenSSH应用以及nfs 开发环境搭建
1、OpenSSH介绍
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
2、确保虚拟机可以ping同开发板
开发板连上网线,开发板网络与虚拟机网络需要在同一网络下,查询开发板IP地址,执行如下命令:ifconfig
如图:
在虚拟机ping开发板IP,如图:
3、在虚拟机上新建文件,并且拷贝文件到开发板文件系统下,执行如下命令:
传输完成后,在终端查看,输入命令:ls /,如图:
4、再在开发板文件系统上新建一个测试文件,并且拷贝文件到虚拟机下,执行命令:touch testssh2,在虚拟机下运行命令,如图:
5、使用OpenSSH网络登录到开发板文件系统,执行命令,如图:
二、nfs 开发环境搭建
1、安装 nfs 服务包
在终端输入以下命令安装 nfs 服务包:apt-get install nfs-kernel-server,如图:
2、配置 nfs
nfs 允许挂载的目录和权限需要在文件"/etc/exports"中进行定义。修改 nfs 配置文件exports,执行如下命令:
sudo vim /etc/exports,在文件最后加入配置信息,如下图所示:/home/am437/ *(rw,sync,no_root_squash)
其中设置的含义如下:
/media/tl437x:共享目录
*:允许所有的网络段访问
rw:访问者具有可读写权限
sync:资料同步写入内存和硬盘
no_root_squash:nfs 共享目录访问者具有 root 权限
nfs 常用参数有:
ro:只读访问
rw:读写访问 sync 所有数据在请求时写入共享
asyncnfs:在写入数据前可以响应请求
secure nfs:通过 1024 以下的安全 TCP/IP 端口发送
insecure nfs:通过 1024 以上的端口发送
wdelay:如果多个用户要写入 nfs 目录,则归组写入(默认)
no_wdelay:如果多个用户要写入 nfs 目录,则立即写入,当使用 async 时,无需此设置
hide:在 nfs 共享目录中不共享其子目录
no_hide:共享 nfs 目录的子目录
subtree_check:如果共享/usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)
no_subtree_check:和上面相对,不检查父目录权限
all_squash:共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录
no_all_squash:保留共享文件的 UID 和 GID(默认)
root_squash root:用户的所有请求映射成如 anonymous 用户一样的权限(默认)
no_root_squas root:用户具有根目录的完全管理访问权限
anonuid=xxx:指定 nfs 服务器:/etc/passwd:文件中匿名用户的 UID
3、如果没安装vim,可以安装一个,如图:
4、执行以下命令重启 nfs 服务器:
Host# sudo /etc/init.d/portmap restart
Host# sudo /etc/init.d/nfs-kernel-server restart
如图:
5、本地 nfs 服务器测试
查看 本地nfs 共享目录,执行如下命令:showmount -e,如图:
挂载本地 nfs 共享目录,如图:
6、开发板挂载 nfs 服务器共享目录
设置虚拟机IP,保证能ping通开发板,如图:
7、开发板挂载 Ubuntu 虚拟机 nfs 服务器共享目录,在根目录下建立 nfs 挂载目录,执行命令:mkdir -p /nfs,在开发板中令挂载 nfs 服务器共享目录到开发板的/nfs 目录,如图:
可以看到虚拟机中的文件已经可以显示在开发板/nfs 目录了。
8、这时,要是想自行一个demo就容易了,省去了将其先上传到开发板的步骤,在开发板/nfs 目录下进行操作即可,如图:
到这里,nfs 开发环境就搭建的差不多了!