scp终端系统goodend上的权限可以自己在设置中改吗

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 51265|回复: 182
积分3869精华2主题帖子威望1371 活跃1448 PP币1488 PP豆0 阅读权限50最后登录
, 积分 3869, 距离下一级还需 -869 积分
TA的每日心情奋斗 10:31签到天数: 2 天连续签到: 0 天[LV.1]初来乍到威望1371 活跃1448 PP币1488 PP豆0
本帖最后由 Loss 于
14:46 编辑
依赖包详解,winscp教程,用户密码安全教程
有5个部分。
第一个部分是cydia依赖包,
第二个部分是winscp教程,
第三个部分是用terminal和putty修改root(mobile)密码,还有通过mobileterminal安装.deb文件。
第四个是部分忘记root密码和mobile用户实战入侵演习。注意:mobile密码也需要更改,方法多种多样。
第五部分是利用putty检测cpu使用率和内存使用量,查杀进程。
& && && && & ====================={:4_131:}& && &{:4_131:}=========================
第一部分——cydia依赖包安装
我先给一些新手说明下一些名词解释:
root是管理员权限,就是windows中的administrator,有了这个权限,我们才能对为所欲为!
openssh是用来无线连接电脑,和一些文件传输必要的一个协议,所以在ifunbox中需要下载这个。
随后就引出了winscp这个软件,是用来远程无线管理iPhone和文件传输等操作的PC端的软件。
然后就会出现openssh漏洞,这个漏洞是iPhone中的root密码默认为alpine的漏洞,如果你下载了openssh,而没修改root和mobile密码,坏人就可以扫描你iPhone WIFI的IP,登录你的手机,还有ssh蠕虫病毒。
putty和mobileterminal一样,前者是在PC通过无线连接到iPhone进行输入命令行等操作,后者是在手机中直接操作
openssh,moblieterminal是装在手机的,putty,ifunbox和winscp是装电脑的
===========================================================================
准备:下载ifunbox,下载openssh
1.下载好了版主的依赖包。
2.使用cydia在手机端搜索openssh,安装。随后在电脑打开下载好的ifunbox,把依赖包所有的deb文件拉到手机的 /private/var/root/Media/Cydia/AutoInstall/目录。(jb目录中的deb文件,不是文件夹)
在ifunbox中选择所有deb文件,右键点击权限,修改为<font color="#ff
权限的解释:linux(unix内核)中的文件权限为3部分:文件所有者,同组用户、其他用户。每一个权限有3部分,读 写 执行 ——rwx
所以3个部分的3个权限组合成rwx rwx rwx
例:rwxrw-r--,意思就是文件所有者拥有读写执行的权限,同组用户拥有读写权限,其他用户只有读取权限。
用二进制转换就是111 110 100对应rwx rw- r--(有字母的为1,-为空,就是0,没有权限),所以就是764(111是7 110是6 100是4)。777的权限就是rwxrwxrwx,所有用户拥有读写执行的权限。避免的用户组不同而造成权限不足导致无法安装的问题
09:10 上传
3.重启完,即可完成自动安装。可能变更中会出现一些更新文件,安装。
注意:第一次连接ifunbox可能会弹出一个修改密码的提示,取消即可,以便我们自己修改,下文提到。
还有权限打不开的朋友多点几次就打开了。
安装成功的话autoinstall下面的.deb都会消失的!失败的PY请转第三部分查看。
& && && && && && && &&&==== ==================={:4_106:}{:4_106:}======================
第二部分——使用winscp管理iPhone
有些PY问了,openssh是什么?简单的说,有了这个才能实现一些远程控制和文件传输,正是要有这个东西ifunbox才能修改权限。
而openssh却是有着大用!大家都看到了sbsettings中有个ssh开关!这个开关的用处就是为了打开关闭这个ssh协议。
打开了这个协议有什么用呢?这个可大有用处。当你没带数据线,或者在别人家的时候,如何来copy文件实现无线传输?这就是ssh的强大之处。
配合ssh使用winscp这个pc端软件能实现无线管理你的iPhone,在两台设备间实现拷贝删除添加文件等各种操作,而你所做的仅仅是保持wifi连接而已。
简单教程:
1.下载winscp&&
2.查看你的wifi地址,在无线局域网中的箭头能查看ip,或者sbs中也可以查看ip,在路由器中也可以查看。
3.在主机名输入你的iPhone wifi的IP地址,一般连接路由器的话为192.168.x.x& &
输入用户名,密码。用户名root&&密码默认为alpine
4.点击登录!首次登录会出现一个密钥写入缓存的,确定即可!
09:10 上传
& && && && && && && &
====================={:4_137:}{:4_137:}====================
第三部分——修改root密码(和mobile密码)
密码为什么是alpine?root权限不是最高权限吗?大家都知道这个密码不是很危险?别人用我的ip地址也能连接我的iPhone啊!
所以,我们必须做的就是要修改root密码(和mobile)!!!
有两种简便方法:
在手机端修改&&或者&&在pc端修改
(root改为mobile,就可以更改mobile密码,只是用户不同)
手机端修改:
1.通过cydia搜索mobileterminal这个软件下载!目前很多版本闪退,如果不行的话就添加源:yourcydiarepo.org&&在这里下载!
2.打开终端,出现黑色屏幕,输入login(很多教程说输入su,其实也是一样,su是一个环境命令)
账号login:root& & (mobile)
然后输入密码passwd:alpine(注意密码是不回显的!意思就是你看上去是空的,其实已经输入了密码!目的防止别人记录你的密码个数)
登录成功!证明你用root用户登录的话会出现#,#号就表示root用户.
然后输入passwd修改密码!
会要求你输入passwd:你自己的密码
然后确认一遍,再次输入你自己的密码
修改成功!
输入exit退出
3.成功了,这样你就不会在不知道ssh打开的情况下,被第三者入侵了,因为他不知道你的root密码!但是却可以用mobile用户登录入侵!
pc端修改:
1.下载一个叫putty的软件
2.跟登录winscp一样,输入你的ip地址,但是不用输入密码,连接你的iPhone!
3.会弹出一个黑色界面,没错,这就是手机上的字符终端界面,按照同样的方法
passwd:alpine
passwd:输入你自己的,然后再次输入
09:10 上传
09:10 上传
注:密码不回显,看不到你输入几位数了,所以别打错噢!
使用mobileterminal安装.deb文件
有py说安装不成功,在此更新,在手机终端安装。
1.同样的方法,先用ifunbox修改权限,拉到autoinstall目录下(任何目录也可以,因为这是指定路径安装!)。
2.然后打开terminal,出现黑色字符终端界面。
输入su或者login登录root账户。
passwd(你的密码)
出现root#证明登录成功
一开始进去是在用户目录下,所以我们输入
cd / & &有空格
这时候返回了主目录
然后我们需要进入到install的目录,输入
cd /private/var/root/Media/Cydia/AutoInstall&&有空格(注意区分大小写!)
就进入到autoinstall目录了
我们可以用ls -a查看一下,ls是显示文件和文件夹的shell命令,-a是显示隐藏文件
这时候出现很多文件,这就是我们需要安装的东西了,这么多东西,我们用通配符一次性安装完!
dpkg -i *.deb & & 两个空格
一般安装成功会出现一个setup up xxx的字样,然后重启手机!
安装完成后.deb需要自行删除,不会自动消失的!setting up就是成功了!
各位先试了,应该是100%成功!
09:10 上传
倒数第六行有setting up xxxxx,成功!
& && && && && && && && & & && &==================={:4_168:}{:4_168:}======================
第四部分——忘记root密码了怎么办?root密码修改了就安全了?
1.下载ifile版。
2.进入/etc,备份passwd和master.passwd文件
3.登录这个网站&&游客,如果您要查看本帖隐藏内容请
在$str输入你要设置的密码,$slat为2位字符,比如12,ab等。
result结果即为密码
4.复制结果到master.passwd文件下,覆盖root:xxxxxxxxxxxxx:中的X字符段 和mobile:xxxxxxxxxxxxx:字段(这里就可顺便改掉mobile的密码!)
5.完成即可
09:10 上传
解释下加密规则,这里master.passwd和passwd的关系不是很懂,希望有人给我解答下。
用了crypt加密,是一个单向的加密方式。设置密码的时候输入,比如123456,系统会随机一个salt,salt不一样,就算同样的密码最后的字符也是不一样。
系统进行同样的对比,然后才确认你的密码。
测试了mobile的密码也为alpine,加密的salt为/s,所以mobile用户也是一个漏洞,拥有通用默认的密码,这个用户的权限足够入侵你的相册了。
实战演习:
root密码修改了就安全了?不对!刚上面还给出了一个密码,mobile,这个也要修改!很多人仅仅修改了root密码,给大家看一下mobile密码入侵实战演习。
注意:mobile密码也需要更改,方法多种多样,用lz里面的方法都可更改。
假设有一台iPhone在图书馆连接了,LZ正在图书馆玩笔记本,利用一款小软件扫描了所在局域网的主机IP,结果有所发现。
09:10 上传
于是,我就利用putty这个软件登陆终端,输入这个所在的ip,成功连接!
09:10 上传
cd进入文档测试了下,能进!cd..返回上级,然后进去media,进入相册。
ls查看文件,哇塞,发现好多照片。打包回家~~~
成功利用字符终端和默认密码alpine登陆mobile用户,使用shell命令成功的入侵这台iPhone的相册
以上实战演习,表明了仅仅修改root密码不够的,所以还需要修改mobile密码!其他用户密码就不用了,只有这2个用户是默认密码为alpine的。
当然,应该也能通过root用户登录去修改其他用户组和其他用户的密码,但是没什么必要,我就不一一举例了,py们只需要修改root和mobile密码即可,用以上的各种方法.
科技越发达,越没有隐私权!大家要保护好自己的资料!
& && && && && && &======================={:4_160:}{:4_160:}==========================
第五部分——使用putty查看系统各个进程的内存大小和CPU使用率,帮您时刻了解你的iPhone信息!
通过以上4部分的内容,我希望部分py能够掌握了,接下来我们在上面的基础上,进一步通过putty这个远程terminal了解我们的系统!
很多朋友装了各种莫名其妙的,iPhone变的很卡很卡!但是他自己也不知道到底装了哪些,装了多少,哪个插件导致了这么卡!所以今天就讲述利用putty,使用top命令来帮助您杀死垃圾软件。
首先,大家已经可以通过terminal和putty去修改自己的root和mobile账户的密码了。这里我们需要在putty上进行,因为我们的iPhone屏幕太小了……显示不完全……(注意:保持wifi连接)
1.我们需要的是一个top命令扩展包,我们的iPhone没有这个扩展包,就不能使用这个命令。
我们进入cydia的管理——设置——开发者。然后我们搜索top,就可以安装完毕这个命令包了。
2.打开putty,进行远程连接,输入账号密码(想必你们轻车熟路了),输入top。
09:10 上传
出现一个黑色窗口,我来简单解释一下必要的内容。(最大化窗口)
46 total ,& && && &&&4running,& && &42sleeping&&223threads
最大46进程& && & 4个正在运行& &42个休眠& &&&223线程数
Load Avg& &3..67&&3.45 2.74&&表示5分钟队列中平均有3.67个进程,10分钟有3.45进程,15分钟有2.74个进程
一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。对于上面的例子来说,4S有两个CPU,那么其每个CPU的当前任务数为:3.67/2=1.5345。那么我的iPhone当前性能还是非常不错的!
PhysMem:77M wired,43M active, 66M inactive,388M used , 177M free
物理内存& && &77M占用& &&&43M活动& && && &66M闲置& && && &&&388M已用& && &&&177M自由
wired实在不知道什么意思,应该翻译成被应用程序占用。(wired memory :this information can't be cached to disk, so it must stay in ram. the amount depends on what applications you are using. )
内存有四种状态:wired, active, inactive, and free
wired:正在被占用的 active:正在活动和积极写入RAM的&&inactive:被使用的时间极短的。free:自由的,未被使用的内存
剩余内存=free+inactive
接下来我们说图表里面几个重要的内容:
PID该进程在cpu中的ID COMMAND 进程名&&%CPU CPU使用率&&TIME&&已运行时间&&RSIZE 内存使用量&&VSIZE&&内存允许最大使用量
主要我们是看cpu和rsize来表示这个程序占用资源的大小!
cpu大于0,我们就知道这个程序是在运行的,从上面的数据我们得出有4个程序在运行,原谅LZ截图截小了。下面的没看到,视野中只有一个。
你们可以看到LZ这里对RSIZE的大小进行了排序,最上面的是内存最大的。
排序:输入o(小写!),会出现primary key小行下划线。
-RSIZE 按照内存从大到小排序
+RSIZE小到大……
-CPU&&大到小……
+CPU 小到大……
3.LZ是-RSIZE排序,我们看到一个进程,名字叫gm46,内存使用量最大。但是LZ不知道这个是什么进程。(gm46的PID为466)
要杀进程,我们输入大写S,这时候会要求你输入一个信号量,我们输入15(如果不行就输入9强杀),然后我们再输入466
或者我们可以点击q退出top命令,利用kill PID来杀死这个进程。输入kill 466,就成功关闭这个程序了。
4.我们再打开ifunbox,点击文件夹,右键搜索,输入干gm46,搜索这个进程!
09:10 上传
09:10 上传
我们查到了!用这个方法,我们可以随时查看当前系统稳定情况了。
游客,如果您要查看本帖隐藏内容请
总评分:&活跃 + 41&
积分1816精华1主题帖子威望722 活跃229 PP币1194 PP豆0 阅读权限1最后登录
该用户从未签到威望722 活跃229 PP币1194 PP豆0
积分2108精华0主题帖子威望491 活跃160 PP币824 PP豆0 阅读权限1最后登录
该用户从未签到威望491 活跃160 PP币824 PP豆0
很受用哦~不错
积分1568精华0主题帖子威望313 活跃167 PP币719 PP豆0 阅读权限20最后登录
, 积分 1568, 距离下一级还需 -368 积分
该用户从未签到威望313 活跃167 PP币719 PP豆0
真心不错的哦& &支持
积分1246精华0主题帖子威望516 活跃81 PP币838 PP豆0 阅读权限20最后登录
, 积分 1246, 距离下一级还需 -46 积分
该用户从未签到威望516 活跃81 PP币838 PP豆0
{:4_86:}& && && && && &
积分2530精华0主题帖子威望933 活跃724 PP币1674 PP豆0 阅读权限1最后登录
该用户从未签到威望933 活跃724 PP币1674 PP豆0
进来支持支持~不错
积分3155精华0主题帖子威望753 活跃198 PP币1198 PP豆0 阅读权限1最后登录
该用户从未签到威望753 活跃198 PP币1198 PP豆0
顶起来!辛苦了
积分2825精华0主题帖子威望657 活跃288 PP币1063 PP豆0 阅读权限1最后登录
该用户从未签到威望657 活跃288 PP币1063 PP豆0
积分1046精华0主题帖子威望225 活跃67 PP币463 PP豆0 阅读权限20最后登录
, 积分 1046, 距离下一级还需 154 积分
该用户从未签到威望225 活跃67 PP币463 PP豆0
学习学习~不错
积分588精华0主题帖子威望234 活跃23 PP币534 PP豆0 阅读权限10最后登录
, 积分 588, 距离下一级还需 212 积分
该用户从未签到威望234 活跃23 PP币534 PP豆0
感谢分享。收藏了
Copyright&
Guangzhou UC Network Technology Co., Ltd. All Rights Reserved. 广州优视网络科技有限公司 版权所有
请填写客服满意度
请填写产品满意度Mac将本地文件上传到服务器上
scp -P 22 /Java/program.war root@123.456.789.987:/usr/server/tomcat7/webapps/
上端口大写P 为参数,22 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。
/Java/program.war表示本地上准备上传文件的路径和文件名。root@123.456.789.987 表示使用root用户登录远程服务器www.vpser.net,:/usr/server/tomcat7/webapps/ 表示保存在远程服务器上目录和文件名。
以上是本人实践,以下是教程指令
Linux(MAC) SSH远程文件/目录传输命令scp
相 信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget
就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用scp命令就会排上用场。
一、scp是什么?
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。
二、scp有什么用?
1、我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的。
2、我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无法通过常规途径上传是,只需要通过scp命令便可以轻松的达到目的。
三、scp使用方法
1、获取远程服务器上的文件
scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz
上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。
2、获取远程服务器上的目录
scp -P 2222 -r root@www.vpser.net:/root/lnmp0.4/ /home/lnmp0.4/
上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示远程服务器上的目录,最后面的/home/lnmp0.4/表示保存在本地上的路径。
3、将本地文件上传到服务器上
scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz
上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。
4、将本地目录上传到服务器上
scp -P 2222 -r /home/lnmp0.4/ root@www.vpser.net:/root/lnmp0.4/
上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);/home/lnmp0.4/表示准备要上传的目录,root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。
5、可能有用的几个参数 :
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
附上将DiaHosting VPS 上的文件 scp传输Linode上的截图,速度在10MB/s:
Linux(MAC) SSH远程文件/索引传输命令scp(点击图片查大图)
如果有任何问题请到 VPS论坛提问,如果是Linux新手可以到 学习一下Linux的基本使用教程。
Mac连接Linux服务器并上传、解压文件
mac 上传文件到 linux
Mac上传文件到Linux服务器
mac通过SSH连接远程Linux主机解决上传文件的痛
mac上传文件到linux服务器
MacPro 利用SCP上传下载Linux服务器文件
上传文件到linux服务器
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"Linux系统技术交流QQ群(915246)验证问题答案:刘遄
00:00/00:00
《就该这么学》最新正式版已出版上市,同学们可在线上、、及等电商平台购买。
*亦可就近在新华书店购买*
章节简述:
本章讲解了如何使用nmtui命令配置网络参数,以及通过nmcli命令查看网络信息并管理网络会话服务,从而让您能够在不同工作场景中快速地切换网络运行参数;还讲解了如何手工绑定mode6模式双网卡,实现网络的负载均衡。。
本章还深入介绍了SSH协议与sshd服务程序的理论知识、的远程管理方法以及在系统中配置服务程序的方法,并采用实验的形式演示了使用基于密码验证的sshd服务程序进行远程登录,以及使用screen服务程序远程管理Linux系统的不间断会话等技术。
当读者掌握了本章的内容之后,也就完全具备了对Linux系统进行配置管理的知识。而且后续章节中将陆续引入大量实用服务的配置内容,读者将用到本章学习的知识进行配置,这样一方面可以让读者对生产环境中用到的大多数热门服务程序有一个广泛且深入的认识,另一方面也可以掌握相应的配置方法。
本章目录结构
9.1 配置网卡服务
9.1.1 配置网卡参数
截至目前,大家已经完全可以利用当前所学的知识来管理Linux系统了。当然,大家的水平完全可以更进一步,当有朝一日登顶技术巅峰时,您一定会感谢现在正在努力学习的您。
我们接下来将学习如何在Linux系统上配置服务。但是在此之前,必须先保证主机之间能够顺畅地通信。如果网络不通,即便服务部署得再正确用户也无法顺利访问,所以,配置网络并确保网络的连通性是学习部署Linux服务之前的最后一个重要知识点。
在4.1.3小节讲解了如何使用Vim文本编辑器来配置网络参数,其实,在RHEL 7系统中有至少5种网络的配置方法,老师尽量在本书中为大家逐一演示。这里教给大家的是使用nmtui命令来配置网络,其具体的配置步骤如图9-1至图9-8所示。当遇到不容易理解的内容时,我们会额外进行解释说明。
执行nmtui命令运行网络配置工具
选中Edit a connection并按下回车键
在RHEL 5、RHEL 6系统及其他大多数早期的Linux系统中,网卡的名称一直都是eth0、eth1、eth2、……,但在RHEL 7中则变成了类似于eno这样的名字。不过除了网卡的名称发生变化之外,其他几乎一切照旧,因此这里演示的网络配置实验完全可以适用于各种版本的Linux系统。
选中要编辑的网卡名称,然后按下Edit(编辑)按钮
把网络IPv4的配置方式改成Manual(手动)
再多提一句,我们的这本《Linux就该这么学》不仅学习门槛低、简单易懂,而且还有一个潜在的优势—书中所有的服务器主机IP地址均为192.168.10.10,而客户端主机均为192.168.10.20及192.168.10.30。这样的好处就是,在后面部署Linux服务的时候,不用每次都要考虑IP地址变化的问题,从而可以心无旁骛地关注配置细节。
按下Show(显示)按钮,显示信息配置框
现在,在服务器主机的网络配置信息中填写IP地址192.168.10.10/24。
填写IP地址
至此,在Linux系统中配置网络的步骤就结束了。
老师在培训时经常会发现,很多学员在安装RHEL 7系统时默认没有激活网卡。如果各位读者有同样的情况也不用担心,只需使用Vim编辑器将网卡配置文件中的ONBOOT参数修改成yes,这样在系统重启后网卡就被激活了。
单击OK按钮保存配置
单击Quit按钮退出
[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
UUID=ec77579b-2ced-481f-9c09-f562b321e268
ONBOOT=yes
IPADDR0=192.168.10.10
HWADDR=00:0C:29:C4:A4:09
PREFIX0=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
当修改完Linux系统中的服务配置文件后,并不会对服务程序立即产生效果。要想让服务程序获取到最新的配置文件,需要手动重启相应的服务,之后就可以看到网络畅通了:
[root@linuxprobe ~]# systemctl restart network
[root@linuxprobe ~]# ping -c 4 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.099 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.095 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.095 ms
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.056/0.086/0.099/0.018 ms
9.1.2 创建网络会话
RHEL和系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。它可以轻松地查看网络信息或网络状态:
[root@linuxprobe ~]# nmcli connection show
NAME UUID TYPE DEVICE
eno ec77579b-2ced-481f-9c09-f562b321e268 802-3-ethernet eno
[root@linuxprobe ~]# nmcli con show eno
connection.id: eno
connection.uuid: ec77579b-2ced-481f-9c09-f562b321e268
connection.interface-name: --
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp:
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0
………………省略部分输出信息………………
另外,RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指定网络的IP地址,而回到家中则是使用DHCP自动分配IP地址。这就需要麻烦地频繁修改IP地址,但是使用了网络会话功能后一切就简单多了—只需在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了。
可以使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。假设将公司网络中的网络会话称之为company,将家庭网络中的网络会话称之为house,现在依次创建各自的网络会话。
使用con-name参数指定公司所使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称(千万要以实际环境为准,不要照抄书上的eno),用autoconnect no参数设置该网络会话默认不被自动激活,以及用ip4及gw4参数手动指定网络的IP地址:
&#91;root@linuxprobe ~&#93;# nmcli connection add con-name company ifname eno autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
Connection 'company' &#40;86c-419e-b615-38f4014cfdee&#41; successfully added.
使用con-name参数指定家庭所使用的网络会话名称house。因为我们想从外部DHCP服务器自动获得IP地址,因此这里不需要进行手动指定。
&#91;root@linuxprobe ~&#93;# nmcli connection add con-name house type ethernet ifname eno
Connection 'house' &#40;44acf0a7-07e2-40b4-94ba-69ea973090fb&#41; successfully added.
在成功创建网络会话后,可以使用nmcli命令查看创建的所有网络会话:
[root@linuxprobe ~]# nmcli connection show
NAME UUID TYPE DEVICE
44acf0a7-07e2-40b4-94ba-69ea973090fb 802-3-ethernet --
86c-419e-b615-38f4014cfdee 802-3-ethernet --
ec77579b-2ced-481f-9c09-f562b321e268 802-3-ethernet eno
使用nmcli命令配置过的网络会话是永久生效的,这样当我们下班回家后,顺手启用house网络会话,网卡就能自动通过DHCP获取到IP地址了。
[root@linuxprobe ~]# nmcli connection up house
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@linuxprobe ~]# ifconfig
eno: flags=4163&UP,BROADCAST,RUNNING,MULTICAST& mtu 1500
inet 192.168.100.128 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::20c:29ff:fec4:a409 prefixlen 64 scopeid 0x20&link&
ether 00:0c:29:c4:a4:09 txqueuelen 1000 (Ethernet)
RX packets 42 bytes
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 75 bytes 1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73&UP,LOOPBACK,RUNNING& mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10&host&
loop txqueuelen 0 (Local Loopback)
RX packets 518 bytes 4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 518 bytes 4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如果大家使用的是虚拟机,请把虚拟机系统的网卡(网络适配器)切换成桥接模式,如图9-9所示。然后重启虚拟机系统即可。
设置虚拟机网卡的模式
9.1.3 绑定两块网卡
一般来讲,生产环境必须提供7×24小时的网络传输服务。借助于网卡绑定技术,不仅可以提高网络传输速度,更重要的是,还可以确保在其中一块网卡出现故障时,依然可以正常提供网络服务。假设我们对两块网卡实施了绑定技术,这样在正常工作中它们会共同传输数据,使得网络传输的速度变得更快;而且即使有一块网卡突然出现了故障,另外一块网卡便会立即自动顶替上去,保证数据传输不会中断。
下面我们来看一下如何绑定网卡。
第1步:在虚拟机系统中再添加一块网卡设备,请确保两块网卡都处在同一个网络连接中(即网卡模式相同),如图9-10和图9-11所示。处于相同模式的网卡设备才可以进行网卡绑定,否则这两块网卡无法互相传送数据。
在虚拟机中再添加一块网卡设备
确保两块网卡处在同一个网络连接中(即网卡模式相同)
第2步:使用Vim文本编辑器来配置网卡设备的绑定参数。网卡绑定的理论知识类似于前面学习的RAID硬盘组,我们需要对参与绑定的网卡设备逐个进行“初始设置”。需要注意的是,这些原本独立的网卡设备此时需要被配置成为一块“从属”网卡,服务于“主”网卡,不应该再有自己的IP地址等信息。在进行了初始设置之后,它们就可以支持网卡绑定。
[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=eno
MASTER=bond0
[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=eno
MASTER=bond0
还需要将绑定后的设备命名为bond0并把IP地址等信息填写进去,这样当用户访问相应服务的时候,实际上就是由这两块网卡设备在共同提供服务。
[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.10.10
DNS=192.168.10.1
NM_CONTROLLED=no
第3步:让Linux内核支持网卡绑定驱动。常见的网卡绑定驱动有三种模式—mode0、mode1和mode6。下面以绑定两块网卡为例,讲解使用的情景。
mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
比如有一台用于提供NFS或者samba服务的文件服务器,它所能提供的最大网络传输速度为100Mbit/s,但是访问该服务器的用户数量特别多,那么它的访问压力一定很大。在生产环境中,网络的可靠性是极为重要的,而且网络的传输速度也必须得以保证。针对这样的情况,比较好的选择就是mode6网卡绑定驱动模式了。因为mode6能够让两块网卡同时一起工作,当其中一块网卡出现故障后能自动备援,且无需交换机设备支援,从而提供了可靠的网络传输保障。
下面使用Vim文本编辑器创建一个用于网卡绑定的驱动文件,使得绑定后的bond0网卡设备能够支持绑定技术(bonding);同时定义网卡以mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒。
[root@linuxprobe ~]# vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6
第4步:重启网络服务后网卡绑定操作即可成功。正常情况下只有bond0网卡设备才会有IP地址等信息:
[root@linuxprobe ~]# systemctl restart network
[root@linuxprobe ~]# ifconfig
bond0: flags=5187&UP,BROADCAST,RUNNING,MASTER,MULTICAST& mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fe9c:637d prefixlen 64 scopeid 0x20&link&
ether 00:0c:29:9c:63:7d txqueuelen 0 (Ethernet)
RX packets 700 bytes 8 KiB)
RX errors 0 dropped 6 overruns 0 frame 0
TX packets 588 bytes 4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno: flags=6211&UP,BROADCAST,RUNNING,SLAVE,MULTICAST& mtu 1500
ether 00:0c:29:9c:63:73 txqueuelen 1000 (Ethernet)
RX packets 347 bytes 4 KiB)
RX errors 0 dropped 6 overruns 0 frame 0
TX packets 263 bytes 2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno: flags=6211&UP,BROADCAST,RUNNING,SLAVE,MULTICAST& mtu 1500
ether 00:0c:29:9c:63:7d txqueuelen 1000 (Ethernet)
RX packets 353 bytes 4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 325 bytes 1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
可以在本地主机执行ping 192.168.10.10命令检查网络的连通性。为了检验网卡绑定技术的自动备援功能,我们突然在虚拟机硬件配置中随机移除一块网卡设备,可以非常清晰地看到网卡切换的过程(一般只有1个数据丢包)。然后另外一块网卡会继续为用户提供服务。
[root@linuxprobe ~]# ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.109 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.102 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.066 ms
ping: sendmsg: Network is unreachable
64 bytes from 192.168.10.10: icmp_seq=5 ttl=64 time=0.065 ms
64 bytes from 192.168.10.10: icmp_seq=6 ttl=64 time=0.048 ms
64 bytes from 192.168.10.10: icmp_seq=7 ttl=64 time=0.042 ms
64 bytes from 192.168.10.10: icmp_seq=8 ttl=64 time=0.079 ms
--- 192.168.10.10 ping statistics ---
8 packets transmitted, 7 received, 12% packet loss, time 7006ms
rtt min/avg/max/mdev = 0.042/0.073/0.109/0.023 ms
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
9.2 远程控制服务
9.2.1 配置sshd服务
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。在此之前,一般使用FTP或Telnet来进行远程登录。但是因为它们以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。
想要使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
基于口令的验证—用账户和密码来验证登录;
基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。
前文曾多次强调“Linux系统中的一切都是文件”,因此在Linux系统中修改服务程序的运行参数,实际上就是在修改程序配置文件的过程。sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。运维人员一般会把保存着最主要配置信息的文件称为主配置文件,而配置文件中有许多以井号开头的注释行,要想让这些配置参数生效,需要在修改参数后再去掉前面的井号。sshd服务配置文件中包含的重要参数如表9-1所示。
sshd服务配置文件中包含的参数以及作用
默认的sshd服务端口
ListenAddress 0.0.0.0
设定sshd服务器监听的IP地址
Protocol 2
SSH协议的版本号
HostKey /tc/ssh/ssh_host_key
SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key
SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key
SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes
设定是否允许root管理员直接登录
StrictModes yes
当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6
最大密码尝试次数
MaxSessions 10
最大终端数
PasswordAuthentication yes
是否允许密码验证
PermitEmptyPasswords no
是否允许空密码登录(很不安全)
在RHEL 7系统中,已经默认安装并启用了sshd服务程序。接下来使用ssh命令进行远程连接,其格式为“ssh [参数] 主机IP地址”。要退出登录则执行exit命令。
[root@linuxprobe ~]# ssh 192.168.10.10
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is 4f:a7:91:9e:8d:6f:b9:48:02:32:61:95:48:ed:1e:3f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
root@192.168.10.10's password:此处输入远程主机root管理员的密码
Last login: Wed Apr 15 15:54:21 2017 from 192.168.10.10
[root@linuxprobe ~]#
[root@linuxprobe ~]# exit
Connection to 192.168.10.10 closed.
如果禁止以root管理员的身份远程登录到服务器,则可以大大降低被黑客暴力破解密码的几率。下面进行相应配置。首先使用Vim文本编辑器打开sshd服务的主配置文件,然后把第48行#PermitRootLogin yes参数前的井号(#)去掉,并把参数值yes改成no,这样就不再允许root管理员远程登录了。记得最后保存文件并退出。
[root@linuxprobe ~]# vim /etc/ssh/sshd_config
………………省略部分输出信息………………
47 #LoginGraceTime 2m
48 PermitRootLogin no
49 #StrictModes yes
50 #MaxAuthTries 6
51 #MaxSessions 10
………………省略部分输出信息………………
再次提醒的是,一般的服务程序并不会在配置文件修改之后立即获得最新的参数。如果想让新配置文件生效,则需要手动重启相应的服务程序。最好也将这个服务程序加入到开机启动项中,这样系统在下一次启动时,该服务程序便会自动运行,继续为用户提供服务。
[root@linuxprobe ~]# systemctl restart sshd
[root@linuxprobe ~]# systemctl enable sshd
这样一来,当root管理员再来尝试访问sshd服务程序时,系统会提示不可访问的错误信息。虽然sshd服务程序的参数相对比较简单,但这就是在Linux系统中配置服务程序的正确方法。大家要做的是举一反三、活学活用,这样即便以后遇到了陌生的服务,也一样可以搞定了。
[root@linuxprobe ~]# ssh 192.168.10.10
root@192.168.10.10's password:此处输入远程主机root用户的密码
Permission denied, please try again.
9.2.2 安全密钥验证
加密是对信息进行编码和解码的技术,它通过一定的算法(密钥)将原本可以直接阅读的明文信息转换成密文形式。密钥即是密文的钥匙,有私钥和公钥之分。在传输数据时,如果担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再行传送。这样,只有掌握私钥的用户才能解密这段数据,除此之外的其他人即便截获了数据,一般也很难将其破译为明文信息。
一言以蔽之,在生产环境中使用密码进行口令验证终归存在着被暴力破解或嗅探截获的风险。如果正确配置了密钥验证方式,那么sshd服务程序将更加安全。我们下面进行具体的配置,其步骤如下。
第1步:在客户端主机中生成“密钥对”。
[root@linuxprobe ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):按回车键或设置密钥的存储路径
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):直接按回车键或设置密钥的密码
Enter same passphrase again:再次按回车键或设置密钥的密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
40:32:48:18:e4:ac:c0:c3:c1:ba:7c:6c:3a:a8:b5:22
The key's randomart image is:
+--[ RSA 2048]----+
+-----------------+
第2步:把客户端主机中生成的公钥文件传送至远程主机:
[root@linuxprobe ~]# ssh-copy-id 192.168.10.10
The authenticity of host '192.168.10.20 (192.168.10.10)' can't be established.
ECDSA key fingerprint is 4f:a7:91:9e:8d:6f:b9:48:02:32:61:95:48:ed:1e:3f.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.10.10's password:此处输入远程服务器密码
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.10.10'"
and check to make sure that only the key(s) you wanted were added.
第3步:对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。记得在修改配置文件后保存并重启sshd服务程序。
[root@linuxprobe ~]# vim /etc/ssh/sshd_config
………………省略部分输出信息………………
75 # To disable tunneled clear text passwords, change to no here!
76 #PasswordAuthentication yes
77 #PermitEmptyPasswords no
78 PasswordAuthentication no
………………省略部分输出信息………………
[root@linuxprobe ~]# systemctl restart sshd
第4步:在客户端尝试登录到服务器,此时无须输入密码也可成功登录。
[root@linuxprobe ~]# ssh 192.168.10.10
Last login: Mon Apr 13 19:34:13 2017
9.2.3 远程传输命令
scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。
与第2章讲解的cp命令不同,cp命令只能在本地硬盘中进行文件复制,而scp不仅能够通过网络传送数据,而且所有的数据都将进行加密处理。例如,如果想把一些文件通过网络从一台主机传递到其他主机,这两台主机又恰巧是Linux系统,这时使用scp命令就可以轻松完成文件的传递了。scp命令中可用的参数以及作用如表9-2所示。
scp命令中可用的参数及作用
显示详细的连接进度
指定远程主机的sshd端口号
用于传送文件夹
使用IPv6协议
在使用scp命令把文件从本地复制到远程主机时,首先需要以绝对路径的形式写清本地文件的存放位置。如果要传送整个文件夹内的所有数据,还需要额外添加参数-r进行递归操作。然后写上要传送到的远程主机的IP地址,远程服务器便会要求进行身份验证了。当前用户名称为root,而密码则为远程服务器的密码。如果想使用指定用户的身份进行验证,可使用用户名@主机地址的参数格式。最后需要在远程主机的IP地址后面添加冒号,并在后面写上要传送到远程主机的哪个文件夹中。只要参数正确并且成功验证了用户身份,即可开始传送工作。由于scp命令是基于SSH协议进行文件传送的,而9.2.2小节又设置好了密钥验证,因此当前在传输文件时,并不需要账户和密码。
[root@linuxprobe ~]# echo "Welcome to LinuxProbe.Com" & readme.txt
[root@linuxprobe ~]# scp /root/readme.txt 192.168.10.20:/home
root@192.168.10.20's password:此处输入远程服务器中root管理员的密码
readme.txt 100% 26 0.0KB/s 00:00
此外,还可以使用scp命令把远程主机上的文件下载到本地主机,其命令格式为“scp [参数] 远程用户@远程IP地址:远程文件 本地目录”。例如,可以把远程主机的系统版本信息文件下载过来,这样就无须先登录远程主机,再进行文件传送了,也就省去了很多周折。
[root@linuxprobe ~]# scp 192.168.10.20:/etc/redhat-release /root
root@192.168.10.20's password:此处输入远程服务器中root管理员的密码
redhat-release 100% 52 0.1KB/s 00:00
[root@linuxprobe ~]# cat redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
9.3 不间断会话服务
大家在学习sshd服务时,不知有没有注意到这样一个事情:当与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断。
如果我们正在使用命令来打包文件,或者正在使用脚本安装某个服务程序,中途是绝对不能关闭在本地打开的终端窗口或断开网络链接的,甚至是网速的波动都有可能导致任务中断,此时只能重新进行远程链接并重新开始任务。还有些时候,我们正在执行文件打包操作,同时又想用脚本来安装某个服务程序,这时会因为打包操作的输出信息占满用户的屏幕界面,而只能再打开一个执行远程会话的终端窗口,时间久了,难免会忘记这些打开的终端窗口是做什么用的了。
screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户还可以使用screen服务程序同时在多个远程会话中自由切换,能够做到实现如下功能。
会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。
多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。
会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。
在RHEL 7系统中,没有默认安装screen服务程序,因此需要配置Yum仓库来安装它。首先将虚拟机的CD/DVD光盘选项设置为“使用ISO镜像文件”,并选择已经下载好的系统镜像,如图9-12所示。
随书配套的软件资源请在这里下载:
RedHatEnterpriseLinux [RHEL]7.0——操作系统(必需):
由开源软件及全球服务性系统开发商公司出品,最稳定出色的Linux操作系统。
培训课程介绍视频:
将虚拟机的光盘设备指向ISO镜像
然后,把光盘设备中的系统镜像挂载到/media/cdrom目录。
[root@linuxprobe ~]# mkdir -p /media/cdrom
[root@linuxprobe ~]# mount /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
最后,使用Vim文本编辑器创建Yum仓库的配置文件。下述命令中用到的具体参数的含义,可参考4.1.4小节。
[root@linuxprobe ~]# vim /etc/yum.repos.d/rhel7.repo
name=rhel7
baseurl=file:///media/cdrom
gpgcheck=0
现在,就可以使用Yum仓库来安装screen服务程序了。简捷起见,刘遄老师将对后面章节中出现的Yum软件安装信息进行过滤—把重复性高及无意义的非必要信息省略。
[root@linuxprobe ~]# yum install screen
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel | 4.1 kB 00:00
Resolving Dependencies
--& Running transaction check
---& Package screen.x86_64 0:4.1.0-0.19.git3c2946.el7 will be installed
--& Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository
================================================================================
Installing:
screen x86_64 4.1.0-0.19.git3c2946.el7 rhel 551 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 551 k
Installed size: 914 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : screen-4.1.0-0.19.git3c2946.el7.x86_64 1/1
Verifying : screen-4.1.0-0.19.git3c2946.el7.x86_64 1/1
Installed:
screen.x86_64 0:4.1.0-0.19.git3c2946.el7
9.3.1 管理远程会话
screen命令能做的事情非常多:可以用-S参数创建会话窗口;用-d参数将指定会话进行离线处理;用-r参数恢复指定会话;用-x参数一次性恢复所有的会话;用-ls参数显示当前已有的会话;以及用-wipe参数把目前无法使用的会话删除,等等。
下面创建一个名称为backup的会话窗口。请各位读者留心观察,当在命令行中敲下这条命令的一瞬间,屏幕会快速闪动一下,这时就已经进入screen服务会话中了,在里面运行的任何操作都会被后台记录下来。
[root@linuxprobe ~]# screen -S backup
[root@linuxprobe ~]#
执行命令后会立即返回一个提示符。虽然看起来与刚才没有不同,但实际上可以查看到当前的会话正在工作中。
[root@linuxprobe ~]# screen -ls
There is a screen on:
32230.backup (Attached)
1 Socket in /var/run/screen/S-root.
要想退出一个会话也十分简单,只需在命令行中执行exit命令即可。
[root@linuxprobe ~]# exit
[screen is terminating]
在日常的生产环境中,其实并不是必须先创建会话,然后再开始工作。可以直接使用screen命令执行要运行的命令,这样在命令中的一切操作也都会被记录下来,当命令执行结束后screen会话也会自动结束。
[root@linuxprobe ~]# screen vim memo.txt
welcome to linuxprobe.com
为了演示screen不间断会话服务的强大之处,我们先来创建一个名为linux的会话,然后强行把窗口关闭掉(这与进行远程连接时突然断网具有相同的效果):
[root@linuxprobe ~]# screen -S linux
[root@linuxprobe ~]#
[root@linuxprobe ~]# tail -f /var/log/messages
Feb 20 11:20:01 localhost systemd: Starting Session 2 of user root.
Feb 20 11:20:01 localhost systemd: Started Session 2 of user root.
Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
Feb 20 11:21:19 localhost dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
Feb 20 11:21:19 localhost dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
Feb 20 11:30:01 localhost systemd: Starting Session 3 of user root.
Feb 20 11:30:01 localhost systemd: Started Session 3 of user root.
Feb 20 11:30:43 localhost systemd: Starting Cleanup of Temporary Directories...
Feb 20 11:30:43 localhost systemd: Started Cleanup of Temporary Directories.
由于刚才关闭了会话窗口,这样的操作在传统的远程控制中一定会导致正在运行的命令也突然终止,但在screen不间断会话服务中则不会这样。我们只需查看一下刚刚离线的会话名称,然后尝试恢复回来就可以继续工作了:
[root@linuxprobe ~]# screen -ls
There is a screen on:
13469.linux (Detached)
1 Socket in /var/run/screen/S-root.
[root@linuxprobe ~]# screen -r linux
[root@linuxprobe ~]#
[root@linuxprobe ~]# tail -f /var/log/messages
Feb 20 11:20:01 localhost systemd: Starting Session 2 of user root.
Feb 20 11:20:01 localhost systemd: Started Session 2 of user root.
Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
Feb 20 11:21:19 localhost dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
Feb 20 11:21:19 localhost dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
Feb 20 11:30:01 localhost systemd: Starting Session 3 of user root.
Feb 20 11:30:01 localhost systemd: Started Session 3 of user root.
Feb 20 11:30:43 localhost systemd: Starting Cleanup of Temporary Directories...
Feb 20 11:30:43 localhost systemd: Started Cleanup of Temporary Directories.
Feb 20 11:40:01 localhost systemd: Starting Session 4 of user root.
Feb 20 11:40:01 localhost systemd: Started Session 4 of user root.
如果我们突然又想到了还有其他事情需要处理,也可以多创建几个会话窗口放在一起使用。如果这段时间内不再使用某个会话窗口,可以把它设置为临时断开(detach)模式,随后在需要时再重新连接(attach)回来即可。这段时间内,在会话窗口内运行的程序会继续执行。
9.3.2 会话共享功能
screen命令不仅可以确保用户在极端情况下也不丢失对系统的远程控制,保证了生产环境中远程工作的不间断性,而且它还具有会话共享、分屏切割、会话锁定等实用的功能。其中,会话共享功能是一件很酷的事情,当多个用户同时控制主机的时候,它可以把屏幕内容共享出来,也就是说每个用户都可以看到相同的内容。
screen的会话共享功能的流程拓扑如图9-13所示。
会话共享功能的流程拓扑
要实现会话共享功能,首先使用ssh服务程序将终端A远程连接到服务器,并创建一个会话窗口。
[root@client A ~]# ssh 192.168.10.10
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is 70:3b:5d:37:96:7b:2e:a5:28:0d:7e:dc:47:6a:fe:5c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
root@192.168.10.10's password:此处输入root管理员密码
Last login: Wed May 4 07:56:29 2017
[root@client A ~]# screen -S linuxprobe
[root@client A ~]#
然后,使用ssh服务程序将终端B远程连接到服务器,并执行获取远程会话的命令。接下来,两台主机就能看到相同的内容了。
[root@client B ~]# ssh 192.168.10.10
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is 70:3b:5d:37:96:7b:2e:a5:28:0d:7e:dc:47:6a:fe:5c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
root@192.168.10.10's password:此处输入root管理员密码
Last login: Wed Feb 22 04:55:38 2017 from 192.168.10.10
[root@client B ~]# screen -x
[root@client B ~]
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)
1.在Linux系统中有多种方法可以配置网络参数,请列举几种。
答:配置网卡参数可以使用nmtui命令、nmcli命令或者直接编辑网卡配置文件来实现对网卡参数的修改。
2.在RHEL 7系统中使用网卡会话技术的目的是什么?
答:使用nmcli命令来管理网卡会话的目的是为了快速切换网卡参数,以便适应不同的工作场景。
3.请简述网卡绑定技术mode6模式的特点。
答:平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
4. 在Linux系统中,当通过修改其配置文件中的参数来配置服务程序时,若想要让新配置的参数生效,还需要执行什么操作?
答:需要重新启动相关的服务程序,或让服务程序重新加载配置文件,或重启系统。
5.sshd服务的口令验证与密钥验证方式,哪个更安全?
答:一般情况下,密钥验证方式更加安全。若用户若认证有更高的安全需求,还可以再对密钥文件进行口令加密,从而实现双重加密。
6. 想要把本地文件/root/out.txt传送到地址为192.168.10.20的远程主机的/home目录下,且本地主机与远程主机均为Linux系统,最为简便的传送方式是什么?
答:执行命令scp /root/out.txt root@192.168.10.20:/home,并在进行口令验证后即可开始传送。
7.请简述配置Yum仓库的步骤。
答:首先应该创建挂载目录并把光盘镜像文件与其关联,然后修改Yum的配置文件,填写入相关参数,尤其需要注意挂载目录的存放路径要正确无误,最后便可使用Yum命令来安装相关的服务程序了。
8. screen服务程序能够让用户实现远程控制的不间断会话服务,即便网络发生中断也不丢失对远程主机的会话控制。那么,当想要恢复到一个名为linux的会话窗口时,应该怎么做呢?
答:执行命令screen -r linux即可恢复到这个会话窗口中。
为您推荐一些与本文相关的文章:
Linux系统镜像及所需软件工具包下载地址:
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
Linux技术交流群J:3026356
Linux技术交流群K:2659793
Linux技术交流群L:2659106
全国Linux技术交流群(总):
9月0 篇文章10月0 篇文章11月0 篇文章12月0 篇文章
1月0 篇文章12月0 篇文章

我要回帖

更多关于 scp终端系统goodend 的文章

 

随机推荐