day 2远程连接Linux系统管理

时间:2023-03-10 04:55:01
day 2远程连接Linux系统管理
day 2远程连接Linux系统管理
IP端口-协议等基本概念
互联网上的计算机,都会有一个唯一的32位的地址,IP地址。
我们访问服务器。就必须通过这个IP地址。
局域网也有预留的IP地址 192/10/172开头。局域网的 IP地址也是唯一的。
NAT模式,电脑属主机的IP在局域网是唯一的 ,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网(私有网络)。
老师的机器IP 192.168.33.128
端口的简单概念
192.168.33.128代表一台主机,但是主机上可能会有很多服务。
一台主机上的不同服务功能,就是通过端口区分,然后让外部人员访问。
远程连接服务 ssh 22端口
协议
汉语,英语,法语,不同的服务提供了不同的端口,对应了不同的功能,通信方式可能也是不同的,这种通信方式我们就可以理解为协议。
一台主机上的不同服务功能,就是通过端口区分,不同的服务端口,客户端和服务器之间的通信,就可能使用不同的协议。
IP,port(端口),protocol(协议)
SSH通信示意图
day 2远程连接Linux系统管理
远程连接服务。
排查故障:
1、两个机器之间是否通畅,看物理网络(网线网卡,IP是不是在正确)
ifconfig(查看IP)
ping ip 来检查物理网络是否通畅。(win系统)
不通:
1、客户端到服务器端物理链路有问题。
网卡,IP,网线,防火墙。
2、服务是否好的
SSH服务是否好的。
检测办法:从哪个机器连就在那个机器操作
telnet IP 22 (服务器的IP和端口(port))在命令行输入
telnet也可以远程连接,因为不是加密的。很少人用了。
不通可能原因:
1、服务器的防火墙阻挡了,
重启(SSH服务)iptables:
/etc/init.d/iptables restart
2、端口没开放,服务器端没有监听你连接的端口。
[root@oldboy ~]# netstat -lntup|grep 22 (以SSH服务22端口为例)
[root@oldboy ~]# netstat -lntup|grep sshd
客户端工具
Securcrt,Xshell,putty
服务端SSH服务:进程名sshd,openssh(连接用的),openssl(加密用的).
总结:
第一步:物理链路是否有问题,比喻为(高速路是否修通?)客户端操作。
ping ip地址 :
排查客户端到服务端线路问题,pings 常用的网络连接性检查工具(路通否)
tracert -d IP地址:
路由跟踪命令,也可以检查路是否通畅,-d 是不进行反向解析。
第二部:SSH服务是否有问题,比喻为 旅游景点是否开放? 客户端操作。
telnet IP地址 22 判断SSH服务器默认的22端口打开了?(客户端操作)
1、看端口是否打开,
2、看端口是否改变了。
3、看防火墙等问题。
nmap IP地址 -p 22:
也能达到和telnet相同效果,但nmap仅在linux中使用。
第三部:是不是防火墙阻挡,即是不是下雪封路,高速路阻碍通行了。(服务端查看)
/etc/init.d/iptables stop
Linux防火墙iptables ,可能好心办坏事,阻挡了远程连接,学习环境建议关掉防火墙,生产按需要开启。
本章知识相关考题
1)企业场景面试题:Linux系统如何让优化
2)企业场景面试题:SSH服务连不上,如何排查?
3)企业场景面试题:32位和64位系统的区别?
4)企业面试题:Linux的7种运行级别和对应作用。
5)企业面试题:掌握Linux系统从开机到登陆前的启动流程
Linux主机的文件传输。
下面来看一下有关上传下载的命令说明。
1)rz、sz命令的安装方法
第一种方法:安装系统时选包含rz、sz命令的包组。Dlal-up Networking Support.
第二种方法:安装系统后通过执行yum install lrzsz -y 或 yum groyupinstall"Dial-up Networking Support" -y 命令来安装。
2)上传内容时,执行rz命令,如果希望覆盖服务器上的同名内容上传,可加-y参数,输入rz-y 命令后直接回车,会打开一个上传文件的窗口,然后选择我们想上传的文件进行上传,在这个上传的窗口内选择文件是客户端电脑本地要上传到Linux的文件。
3)下载命令 sz
下载内容时,执行命令“sz filename”,如果希望覆盖本地的同名内容下载,则可输入“sz -y filename”命令,sz -y命令后面的filename为命令行Linux主机当前目录下的文件,
例如:sz oldboy.olg。使用sz或”sz -y 文件名“命令从服务器上下载文件时,默认的客户端下载路径就是在CRT里设置的下载路径地址
4)使用rz sz 命令的注意事项
1、只能上传下载文件而不是目录,如果是目录需要打包成文件再传输。(zip)
2、上传的文件可以是电脑里的任意文件,下载的文件会下载到SecureCRT配置到对应下载路径目录中。
3、执行rz命令回车后出现的窗口最下面,一定不要勾选“以ASXII“方式上传文件,否则会遇到问题。
5)其他工具
除了rz、sz等传输文件命令外,还可以用ftp、sftp、(SSH服务)、winscp等工具来传输文件。
批量执行命令演示图
提示:
1、如果要批量部署或执行任务到服务器为数十台,就可以利用SecureCRT的这个小功能,非常不错,简单易用,可以替代一些大型的批量部署软件,如果是大规模服务器数量,则可以用saltstack等批量管理工具。
2、特别需要注意的是,上述批量管理操作,不能使用交互的命令,例如:vi/vim rz等。但可以变通使用,
例如:vi/vim命令可以用echo,cat,sed替代。
Linux系统应用管理
1、一般情况下,在企业生产环境中应尽量避免直接到root用户下操作,除非有超越普通用户权限的系统维护需求。
使用完后立刻退回到普通用户
安装Linux系统后调优及安全设置
关闭SELinux功能
1)修改配置文件,使关闭SELinux永久生效:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
<==修改配置文件可使配置永久生效,但必须要重启系统,此步是sed快速修改方法,也可以通过vi编辑修改此文件。
grep SELINUX=disabled /etc/selinux/config
SELINUX=disabled <==检查替换结果为disabled就表示编辑成功了
2)临时关闭SELinux,可在命令行执行如下命令:
setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]←数字0表示Permissive,即给出警告提示,但不会阻止操作,相当于disabled。数字1表示Enforcing,即表示SELinux为开启状态。
[root@@www ~]# setenforce 0 <==临时将SELinux调成Permissive状态。
[root@@www ~]# getenforce <==查看SELinux当前状态
Permissive
命令说明如下。
·setenforce:用于命令行管理SELinux的级别,后面的数字表示设置对应的级别。
·getenforce:查看SELinux当前的级别状态。
[插图]提示:修改配置SELinux后,要想使其生效,必须要重启系统。因此,可配合使用setenforce 0这个临时使其关闭的命令,这样在重启前后都可以使SELinux关闭生效,也就是说无须立刻重启服务器了,在生产场景下Linux机器是不能随意重启的。
3.4.2 设定运行级别3(文本模式)
linux的7种运行级别
Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this) (关机状态)
1 - Single user mode (维护状态)
2 - Multiuser, without NFS (The same as 3, if you do not have networking)(限单用户使用)
3 - Full multiuser mode(命令行模式)
4 - unused(保留)
5 - X11(桌面模式)
6 - reboot (Do NOT set initdefault to this)(重启模式)
Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
命令说明:
使用 runlevel 查看当前运行级别
使用 init (带运行级别数字即可切换运行级别)
例如:init 6 就是重启Linux服务器了。
课外作业:
掌握Linux7种运行级别。
掌握Linux系统从开机到登陆前的启动流程。
解答:
⑴开机BIOS自检,加载硬盘。
⑵读取MBR,MBR引导。
⑶grub引导菜单(Boot Loader)。
⑷加载内核kernel。
⑸启动init进程,依据inittab文件设定运行级别
⑹init进程,执行rc.sysinit文件。
⑺启动内核模块,执行不同级别的脚本程序。
⑻执行/etc/rc.d/rc.local
⑼启动mingetty,进入系统登陆界面。
day 2远程连接Linux系统管理
匿名者
关闭防火墙
临时关闭防火墙命令:
/etc/init.d/iptables stop
查看防火墙状态命令
/etc/init.d/iptables status
永久关闭防火墙:
chkconfig iptables off
修改字符集
先备份
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
再替换
echo 'LANG="zh_GN.UTF-8"'>/etc/sysconfig/i18n
相当于用vi /etc/sysconfig/i18n 里添加LANG="zh_CN.UTF-8"内容。
使上文修改生效:
-source /etc/sysconfig/i18n
再查看修改后的内容
cat /etc/sysconfig/i18n 或echo $LANG
3.4.10历史记录数及登录超时环境变量设置
1、设置闲置账号超时时间
设置闲置账号的示例命令如下,注意此处的配置仅临时生效。
export TMOUT=10
十秒不操作就退出。
2、设置Linux的命令行历史记录数据
linux特殊变量:
export HISTSIZE=5
(命令行历史记录数量)
history (显示历史记录)
-d (删除指定历史记录)
-c (删除当前历史记录)
设定用户的命令历史记录文件(~/.bash_history)记录指定命令数量的示例命令如下,注意此处的配置仅临时生效。
export HISTFILESIZE=5
命令行命令对应文件的记录数 ~/,bash_history
cat ~/.bash_history
手动同步互联网时间到本地Linux主机
/usr/sbin/ntpdate time.nist.gov
linux 特殊变量:
临时生效
export HISTSIZE=5 (5个)
(命令行历史记录数量)
export HISTFILESIZE=5 (5个)
(命令行命令对应文件的记录数~/.bash_history)
export TMOUNT=10 (10秒)
(连接的超时时间控制变量)
-
把上述命令放入配置文件,使永久生效。
echo 'export TMOUT=300' >>/etc/porfile
echo 'export HISTSIZE=5' >>/etc/porfile
echo 'export HISTFILESTZE=5' >>/etc/profile
tail -3 /etc/profile
source /etc/profile (使得配置文件生效)
隐藏Linux版本信息显示
在登录到Linux主机本地(非CRT连接的窗口)前,会显示系统的版本和内核,
登录后执行如下命令到达上述登录Linux前的终端内容显示的实际存放文件。
[root@oldboy ~]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@oldboy ~]# cat /etc/issue.net
CentOS release 6.8 (Final)
Kernel \r on an \m
> /etc/issue
> /etc/issue.net
(删除内核系统版本信息等)
因为这个让有心之人看到不安全。
快照
比喻:假设把你的人生做了一个快照
1岁
2岁
10岁
16岁
18岁