高级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命令查看当前登录的终端类型
[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个虚拟终端。
终端登录
[root@centos8 ~]#tty/dev/tty5
who命令可以查看当前登录的终端信息
[guanglei@centos8 ~]$ whoguanglei tty2 2020-08-25 19:57 (tty2)guanglei pts/0 2020-08-25 17:59 (10.0.0.1)root pts/1 2020-08-25 19:05 (10.0.0.1)root pts/2 2020-08-25 19:10 (10.0.0.1)root pts/3 2020-08-25 19:22 (10.0.0.1)guanglei pts/5 2020-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 #查看内存 total used free shared buff/cache availableMem: 7.8Gi 844Mi 5.9Gi 10Mi 1.0Gi 6.7GiSwap: 4.0Gi 0B 4.0Gi[root@centos8 ~]# runlevel3 5
字符界面内存占用情况
[root@centos8 ~]# free -h total used free shared buff/cache availableMem: 7.8Gi 426Mi 6.4Gi 9.0Mi 1.0Gi 7.1GiSwap: 4.0Gi 0B 4.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.1
CentOS7.8获取IP地址
[root@centos7 ~]# hostname -I10.0.0.102 192.168.122.1
Ubuntu 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
ping
如果网络都是通的,还要检测端口是否通畅,因为SSH服务默认开启的是22端口,检测端口可以使用telnet命令
telnet 10.0.0.100 22
这里以10.0.0.100的机器为例,如果telnet 10.0.0.100 22能够返回SSH服务的版本,表示端口通畅。
如果服务器的SSH端口通畅,那么此时就可以使用XShell或者是MobaXterm来远程连接三台服务器了。
使用XShell远程连接LinuxXShell7 远程连接Linux我这里已经提前安装了XSHell 7Beta版,XShell是收费的软件,但是目前使用的XShell Beta 7版本可以免费使用,并且连接了3台服务器,根据会话名称就可以辨别出来连接的用户、IP和服务器版本。
那么XShell是如何配置连接?XShell连接服务器,首先新建会话
新建
设置会话的名称、主机以及端口
设置用户账号信息,然后点击连接
此时会以普通用户账号guanglei登录10.0.0.100服务器
设置每秒自动重连
键盘设置
外观设置
会话设置总览
除了XShell以外,还可以使用MobaXtrem来远程连接Linux
首先去官网下载MobaXtrem
MobaXtrem分为免费版和收费版,免费版只支持12个会话
选择MobaXtrem Home Edition v20.3
下载成功后会得到一个压缩包,该压缩包包含安装程序MobaXtrem_installer_20_3.msi和数据文件
因为MobaXtrem的产商在国外,下载时选择复制下载链接到迅雷下载
MobaXtrem_installer_20_3.msi是Windows下的安装程序,双击就可以进行安装
1.开始安装
2.同意许可协议
3.选择安装路径
4.准备安装
5.安装状态
6.安装完成
1.选择会话
2.设置会话
3.输入账号的密码
4.保存密码
5.输入主密码
该密码在下次启动MobaXterm时会提示需要输入
输入master password
登录成功
MobaXtrem提供了Remote Monitoring,可以用于监控远程服务器的硬件信息。
SFTP视图可以实现文件的上传和下载,默认展示的是当前登录用户的家目录
- 开启MobaXtrem右键黏贴如果你使用过SecureCRT(另一款远程SSH连接工具),它默认是支持鼠标左键选中文本,右键粘贴文本。MobaXtrem中也支持,不过默认是关闭的,这里可以在菜单栏settings开启MobaXtrem的右键粘贴功能
2.定制字体