一,SCP
1.什么是scp
scp是 secure copy的简写,用于在不同的Linux系统之间进行文件或目录的拷贝,是linux系统下基于ssh登录进行安全的远程文件拷贝命令。使用SCP命令将其他主机文件文件夹传输到本地或者将本地文件文件夹发送到远端是非常快捷的。
2.命令格式
scp [参数] [原路径] [目的路径]
3.安装ssh
安装命令:
sudo apt install -y openssh-server
使用SSH来访问远程主机我们需要知道被访问主机的用户名以及被访问主机的IP地址,我们可以通过ifconfig命令来查询其IP地址。
注:若使用ifconfig命令时需要我们安装net-tools,安装命令如下:
sudo apt-get install net-tools
4、SSH的使用
获取IP地址后需将SSH连接到远程主机,连接请求的命令格式为:ssh username@IP
当系统显示是否要接受密钥登陆点击yes,输入yes并回车之后,进而输入被访问主机用户的密码,输入密码后便已成功了一部分了。
假如在这里要访问的远程主机IP地址为192.168.1.101,用户名为yang,那么使用的命令就是ssh yang@192.168.1.101可以观察到,用户名已经由frank变成yang了,这就说明我们的操作成功了。
5.SSH密钥对登录的原理与实践
(1)登录的基本思路为要登录谁就把公钥放到谁身上,就可以授权登录谁,本地登录设备称为ssh客户端,被登录的设备称为ssh服务器
密钥分为公钥和私钥,私钥不可外泄、使用私钥可以更安全的登录配置了公钥的主机。
(2)产生秘钥对的工具软件
Linux系统:ssh-keygen -t rsa
接下来一路回车,最终结果中的id_rsa即为私钥,存于/home/frank/.ssh文件夹里,与之对应的公钥名为id_rsa.pub,同样位于/home/frank/.ssh文件夹中
进入.ssh文件夹,使用ll命令查看一下私钥的权限,注意私钥的权限只能自己有,当私钥权限不止个人拥有时,SSH会拒绝执行命令。
(3)运用scp
发送公钥时使用的就是scp命令,将公钥发送到远程主机某一目录下的命令格式为:scp id_rsa.pub@IP:absolute path address
例:id_rsa文件发送目的地为IP地址为192.168.1.101,用户名为yang的远程主机。将它存放到远程主机/home/yang/的目录下,指令就是
scp id_rsa.pub yang@192.168.1.101:/home/yang/
注意:终端位置处于id_rsa.pub所在的文件夹中,输入远程主机账户密码后公钥文件发送到远程主机上了。到目前为止,我们已经对scp的能够初步运用了,将公钥发送到了远程主机上之后,将远程主机上的公钥放在.ssh文件夹。
步骤:(1)在远程主机的/home/yang/目录下建立.ssh文件夹,(2)进入.ssh文件夹,使用命令:
cat id_rsa.pub > .ssh/authorized_keys
(将id_rsa.pub文件里的内容写入.ssh文件夹内的suthorized_keys文件中,若原来.ssh下authorized_keys不存在,执行此命令后authorized_keys会自动创建)
使用密钥登陆后验证密钥,即可关闭我的所有终端,然后在我电脑上打开一个新的终端,使用连接远程主机命令
ssh yang@192.168.1.101不需要输入密码就可以直接登录远程主机,配置成功。
二,NFS
1. 什么是nfs
它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可以随便,但为方便管理,我们要和服务器端一样比较好。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客户端的主机输入指令后就可以查看我的共享目录了) 指令格式: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
5.客户端mnt目录原来为空目录,同时已在服务器端nfs目录下建立了一个test_nfs.txt文件,当使用上述指令以后可以发现,在客户端mnt目录中出现了text_nfs.txt文件,则证明我们已经挂载成功了,运行成功。