array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 使用ssh服务管理远程主机 - 爱码网

配置网络服务

配置网卡的4种方法:
修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-enoXXXXXXXX,配置完重启网卡服务;
nmtui(旧版UI界面)
nm-connection-editor(新版UI界面)
Linux系统右上角电脑图标,打开并做相应编辑。

创建网络会话

RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。
RHEL7支持网络会话:将网卡配置文件保存成模版实现快速切换。该技术旨在不同的使用环境下实现网络配置信息的快速切换。
用nmcli命令可以按照“connection add con-name type ifname”的格式来创建网络会话。

具体参数意义:
con-name:网络会话名称
type:网络类型
ifname:网卡名称
autoconnect :网络会话默认是否自动**,yes是no否
ip4:ip地址及子网掩码
gw4:网关
add/delete:添加/删除
up/down:启用/禁用

实例:创建一个指定ip地址和网关的网络回话company(第2行,要指明ip地址和网关)和一个自动获取ip地址的网络回话house(第3行,想从外部dhcp自动获得ip地址,不需要手动指定,因此部分参数无需配置)。

nmcli connection show #查看已有的网络会话,DEVICE一列有值的那行说明那个会话在启用
nmcli connection add con-name company ifname eno16777756 autoconnect no type ethernet ip4 192.168.10.10/30 gw4 192.168.10.1
nmcli connection add con-name house type ethernet ifname eno16777756
nmcli connection show #查到刚创建的会话也在这里头了
nmcli connection up house #启用网络会话house
nmcli connection show #可以看到名为house的网络会话DEVICE列有显示对应的网卡名称
nmcli connection down house #关闭网络会话house
nmcli connection show #可以看到此时所有网络回话DEVICE列均没有值,说明没有任何会话在启用状态
nmcli connection delete house #删除网络会话house
nmcli connection show #查看创建的所有网络会话,剩下原有的eno16777756和company

绑定两块网卡
网卡绑定技术:对2块以上网卡实施绑定技术,在正常工作中网卡会共同传输数据,网络传输速度更快;当其中一块网卡出现故障,另一块网卡会立即自动顶替,保证网络传输不间断。
实例:按如下步骤对两块网卡实施网卡绑定技术。

1.确保有2块以上网卡设备

2.配置网卡设备的绑定参数,这些原本独立的网卡设备要被配置成从属网卡(SLAVE,从属网卡不能有自己的ip地址信息),以支持网卡绑定。随后创建主网卡配置文件,编辑ip地址等网卡参数

3.让Linux内核支持网卡绑定驱动。常见网卡绑定驱动的模式:
mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。

4.重启网络服务后网卡绑定操作即完成
使用ssh服务管理远程主机
在本地主机执行ping 192.168.10.10命令检查网络的连通性。为了检验网卡绑定技术的自动备援功能,突然在虚拟机硬件配置中随机移除一块网卡设备,可以非常清晰地看到网卡切换的过程(一般只有1个数据丢包)。然后另外一块网卡会继续为用户提供服务。

远程控制服务

配置sshd服务
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。在此之前,一般使用FTP或Telnet来进行远程登录。但是因为它们以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。

想要使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:

基于口令的验证—用账户和密码来验证登录;
基于**的验证—需要在本地生成**对,然后把**对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。

服务的配置文件的保存路径及命名:

主配置文件:/etc/服务名称/服务名称.conf
普通文件:/etc/服务名称

实例:配置sshd服务,禁止以root管理员身份远程登录服务器。

ssh 192.168.10.10 #远程登录主机192.168.10.10,本机也可以用ssh登录本机
exit #退出登录
vim /etc/ssh/sshd_config #修改sshd主配置文件
48 PermitRootLogin no #修改48行的参数为no,表示不允许root管理员远程登录
systemctl restart sshd #重启sshd服务
systemctl enable sshd #把sshd服务加入到开机启动项中
ssh 192.168.10.10 #用root登录,提示Permission denied

安全**验证
加密是对信息进行编码和解码的技术,它通过一定的算法(**)将原本可以直接阅读的明文信息转换成密文形式。**即是密文的钥匙,有私钥和公钥之分。在传输数据时,如果担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再行传送。这样,只有掌握私钥的用户才能解密这段数据,除此之外的其他人即便截获了数据,一般也很难将其破译为明文信息。
一言以蔽之,在生产环境中使用密码进行口令验证终归存在着被暴力**或嗅探截获的风险。如果正确配置了**验证方式,那么sshd服务程序将更加安全。
配置ssh以**方式验证步骤:
1.在客户端主机(192.168.10.20)生成“**对”(生成公钥和私钥)。
2.在客户端中把生成的公钥传送给服务端(192.168.10.10)。
3.在服务端,修改sshd配置文件,使其只允许**验证,拒绝口令验证。修改后重启sshd服务。
4.在客户端远程登录服务器测试是否配置成功。

ssh-****** #客户端操作。生成“**对”(公钥和私钥)。会有3次确认,直接回车就行
ssh-copy-id 192.168.10.10 #客户端操作。把生成的公钥文件传送给服务端。会提示是否继续连接,yes。还会提示要求输入服务端的root密码
vim /etc/ssh/sshd_config #服务端操作。修改ssh服务配置文件
78 PasswordAuthentication no #服务端操作。拒绝口令验证
systemctl restart sshd #服务端操作。重启sshd服务
ssh 192.168.10.10 #客户端操作。尝试远程登录服务端主机

相关文章: