工程师|高级Linux运维工程师养成记-如何远程连接Linux

 工程师|高级Linux运维工程师养成记-如何远程连接Linux
文章图片
如何远程连接Linux
Linux用户在安装CentOS8.2时,设置过root用户的密码,同时也创建了用户guanglei。其中root是Linux的管理员账户,类似Windows的Administrator,在生产环境使用root账号时需要小心操作,因为他有自杀的能力(rm -rf /),在高级Linux运维工程师养成记系列中,没有特殊说明都是使用root用户操作,因为普通用户的权限忒小,可能在执行某些命令时没有权限执行。
Linux系统会给每个用户一个ID,其中root用户的ID是0,而普通用户的ID是1000开始编号。
Linux终端通常的终端指的是鼠标、键盘、显示器的物理终端,而这里的终端都是软件提供的,一台服务器可以提供多个终端来提供给多个用户使用,每个终端都有不同的类型,可以通过tty命令查看当前登录的终端类型
 工程师|高级Linux运维工程师养成记-如何远程连接Linux
文章图片
[guanglei@centos8 ~]$ tty/dev/pts/0/dev/pts/0表示第一个伪终端,终端的编号从0开始,然后依次递增,后面使用XShell远程连接Linux时登录的终端也是伪终端。
除了伪终端以外,Linux还提供了6个虚拟终端,可以使用Ctrl+Alt+F1-F6之间来切换。其中Ctrl+Alt+F2是图形终端,其他的都是基于命令的字符终端。
当登录到CentOS8.2上时,使用Ctrl+Alt+F5切换到第5个终端,然后输入tty命令查看终端类型,/dev/tty5表示第5个虚拟终端。
 工程师|高级Linux运维工程师养成记-如何远程连接Linux
文章图片
终端登录
[root@centos8 ~]#tty/dev/tty5who命令可以查看当前登录的终端信息
[guanglei@centos8 ~]$ whoguanglei tty22020-08-25 19:57 (tty2)guanglei pts/02020-08-25 17:59 (10.0.0.1)rootpts/12020-08-25 19:05 (10.0.0.1)rootpts/22020-08-25 19:10 (10.0.0.1)rootpts/32020-08-25 19:22 (10.0.0.1)guanglei pts/52020-08-25 19:59 (10.0.0.1)这种终端的切换只是临时切换,如果想要从图形界面切换到字符界面,可以在root用户登录后使用命令init 3实现
[root@centos8 ~]# init 3 # 从图形界面切换到字符界面[root@centos8 ~]# runlevel # 查看当前运行级别5 3从字符界面切换到图形界面使用命令init 5实现
[root@centos8 ~]# init 5[root@centos8 ~]# runlevel3 5图形界面相比字符界面更加占用内存,使用free -h可以查看系统的内存使用情况
图形界面内存占用情况
[root@centos8 ~]# free -h #查看内存totalusedfreesharedbuff/cacheavailableMem:7.8Gi844Mi5.9Gi10Mi1.0Gi6.7GiSwap:4.0Gi0B4.0Gi[root@centos8 ~]# runlevel3 5字符界面内存占用情况
[root@centos8 ~]# free -htotalusedfreesharedbuff/cacheavailableMem:7.8Gi426Mi6.4Gi9.0Mi1.0Gi7.1GiSwap:4.0Gi0B4.0Gi通过对比发现CentOS8.2的图形界面内存使用844M,而字符界面只有426M。在生成环境通常会关闭图形界面,只用字符界面。
远程连接Linux远程连接准备目前在VMWare WorkStation中安装了三台虚拟机,分别是CentOS7.8,CentOS8.2,Ubuntu Server20.04,在实际的工作场景中通常都是使用远程连接工具来登录服务器,然后进行日常的运维工作。目前主流的远程工具有XShell,MobaXterm,但是遗憾的是它们目前(2020/08/25)都只支持Windows系统,macOS系统的同学可以使用SecureCRT。
在连接服务器之前,首先需要获取服务的IP地址,使用hostname -I命令就可以获取服务器的IP地址
CentOS8获取IP地址
[root@centos8 ~]# hostname -I10.0.0.100 192.168.122.1CentOS7.8获取IP地址
[root@centos7 ~]# hostname -I10.0.0.102 192.168.122.1Ubuntu Server 20.04获取IP地址
guanglei@ubuntu-server:~$ hostname -I10.0.0.101 获取到IP地址之后,在XShell所在的物理机(Windows)上打开终端,然后使用ping命令来ping刚刚所获取到的三台服务器的ip,如果ping不通是无法使用XShell连接的。
ping 10.0.0.100ping 10.0.0.101ping 10.0.0.102 工程师|高级Linux运维工程师养成记-如何远程连接Linux
文章图片
ping
如果网络都是通的,还要检测端口是否通畅,因为SSH服务默认开启的是22端口,检测端口可以使用telnet命令
telnet 10.0.0.100 22这里以10.0.0.100的机器为例,如果telnet 10.0.0.100 22能够返回SSH服务的版本,表示端口通畅。
 工程师|高级Linux运维工程师养成记-如何远程连接Linux
文章图片
 工程师|高级Linux运维工程师养成记-如何远程连接Linux
文章图片
如果服务器的SSH端口通畅,那么此时就可以使用XShell或者是MobaXterm来远程连接三台服务器了。
使用XShell远程连接LinuxXShell7 远程连接Linux我这里已经提前安装了XSHell 7Beta版,XShell是收费的软件,但是目前使用的XShell Beta 7版本可以免费使用,并且连接了3台服务器,根据会话名称就可以辨别出来连接的用户、IP和服务器版本。


推荐阅读