目录
Linux之远程连接Linux
1.linux安装好之后,如何初始化服务器
防火墙1: iptables 第三方
防火墙2: selinux 系统自带的
(1).关闭linux的防火墙(就是一堆安全机制的规则,如同保安贴墙上的那些规则,共享单车禁止入内)
因为后期我们去学习软件,学习nginx mysql redis ,为了学习的方便,关闭防火墙,允许所有的端口可以访问
iptables -F 清空防火墙规则
systemctl stop firewalld 关闭防火墙服务
systemctl disable firewalld 关闭防火墙开机自启的服务
(2).关闭selinux ,此步骤,需要重启linux方可生效
vi /etc/selinux/config
找到 SELINUX=enforcing 这一行 改成 SELINUX=disabled
2.配置linux的ip地址的方法
(1).选择上网的方式,可以选择2种,
桥接
nat
(2).选择了上网模式之后,可以通过命令管理网卡服务
这两条命令,是重新读取一个文件中的配置,使得网络服务生效
首先进入网卡的工作目录
cd /etc/sysconfig/network-scripts/
然后查看网卡配置文件,编译网卡配置文件,修改 onboot参数
我的叫做ifcfg-ens33
vi ifcfg-ens33
找到 ONBOOT=no 这一行 改成 ONBOOT=yes 使得下次开启机器,自动加载网络服务
systemctl stop network 停止网络服务
systemctl start network 开启网络服务
systemctl restart network 重启网络服务,加载网卡配置文件
reboot 重启服务器
3.查看ip
查看windows的ip: ipfconfig
查看linux的ip: ip addr show
ip addr
ifconfig
检查到ip地址的连接是否正常: ping ip地址
4.远程连接服务器
ip addr show
ssh root@ip -p port
xshell 远程连接工具
#通过ssh命令,通过root账户登录192.168.13.98这台机器 ,默认端口22
ssh [email protected]
5.linux有7个终端
f1 ~ f7 7个终端,f1是图形化界面
切换终端:ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2
普通用户登录后系统的提示符:$
root用户登录后系统的提示符:#
6.几个基础shell命令
tty 查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息
7.linux基本使用命令
输入linux命令,多用tab键去补全,用不着自己去记
linux的命令,其实就是一堆英文缩写,使用linux系统的熟练度,就是看你命令掌握了多少
增
touch 创建普通文本
touch 文件名
touch 文件1 文件2 文件3
mkdir 创建文件夹
mkdir 文件夹名
mkdir hanju huoying lol kele 创建多个文件夹
vi 编辑文本的
删
rm 删除文件,文件夹,remove指令,删除命令在服务器上慎用
rm 文件名 删除文件的命令
rm 文件名* 支持通配符
rm -rf /var/lib/mysql/* #删除mysql默认数据文件夹
改
mv 改名-移动文件,文件夹,move
1.移动文件/文件夹到别的目录
2.改名 mv 旧名字 新名字
cd 切换目录,change 目录
查
ls 查看文件夹内容,list的缩写
注: linux 中白色的是普通文件,蓝色的是目录,文件夹
cat 查看文本文件内容
pwd 打印当前工作目录,print work 目录
8.vi命令的用法
1.vi 文件,此时进入了一个命令模式,需要你输入 i 字母,插入指令
2.在编辑模式下,可以输入一堆字符串
3.当代码写完了, 按下 esc 回到命令模式,按下冒号 : 输入 wq!
:wq! write 写入 quit 退出 !强制性
:q! 不保存退出
一、为什么要远程连接Linux
在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉倒IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远程连接的方式管理自己的Linux系统。
因此在装好Linux系统之后,使用的第一步应该是配置好客户端软件(ssh软件进行连接)连接Linux系统。
通过什么软件呢?
Xshell
SecureCRT


二、远程连接必备的知识
ip地址 > 服务器的位置
互联网上的计算机都会有一个唯一的32位的ip地址,如同家里的门牌号,对应到服务器的位置。
我们找人,可以通过身份证号码对应某个人 那我们找到某台服务器,也必须是通过IP地址
局域网
(针对自己班级/家庭所在环境)里也有预留的ip地址,一般是192/10/172开头,局域网的IP地址也是唯一的。
windows查看ip通过命令:
在cmd终端敲下:
ipconfig
查看“以太网适配器 本地连接 IPv4”的Ip地址就是自身网线的ip地址了
Linux查看ip方式:
方式1:ip addr
方式2: ifconfig


外网Ip
全世界哪里都可以访问,



三、虚拟机网络配置
host only 仅主机 单机模式,了解即可 电脑pc > 皇帝 虚拟机 > 老百姓
老百姓被皇帝控制,无法与外届通信
nat模式(网络地址转换)
电脑pc > 皇帝
nat > 宰相
虚拟机 > 老百姓
老百姓的房子是宰相分配的 与皇帝无关
虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机
好处:
在家,在学校,在公司,使用虚拟机,ip地址都不会变化
桥接
电脑pc > 皇帝
虚拟机 > 老百姓
只要更换了一波皇帝,老百姓房子都得换
只要换了个教室,插上网线,ip就变了
好处:不用配置
坏处:更换ip麻烦
NAT模式
电脑宿主机的ip在局域网内是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网
桥接模式
用此模式,就是局域网中一台独立的主机,它可以访问该类网段任意一台机器,
仅主机模式
单机模式
四、端口
一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务器的。
端口(port)的设计规定是有65536这么多端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员能使用的是1024-65536区间的端口。
通过IP地址可以访问到网络中的 计算机。
通过port端口可以找到 计算机上的应用程序。
ftp:23
dns:53
http:80
https:443
ssh:22
redis:6379
MySQL:3306
五、协议
protocol是为网络中的数据交换而建立的规则、标准或者约定,两个实体要通信,必须有同一种语言。
常见协议有超文本传输协议(HTTP)、文件传输协议(FTP),简单邮件传输协议(SMTP)、网络通信协议(TCP)、用户数据报协议(UDP)
总结
ip | ip地址 | 找人,找服务器 |
port | 端口号 | 提供什么服务 |
protocol | 协议 | 说什么语言 |


ssh root@ip -p port
六、第一次连接Linux
1.下载Xshell
2.命令:ssh ip (默认22端口)

那么问题来了。。。。
这个黑乎乎的是个什么玩意?
Linux终端也称为虚拟控制台,Linux终端采用字符命令方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制
Linux是一个多用户、多任务、支持多线程和多CPU的操作系统
七、Linux切换虚拟终端
ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2
掌握普通用户登录后系统的提示符:$
掌握root用户登录后系统的提示符:#
八、查看终端信息shell命令
那么如何查看当前Linux的终端有哪些呢?
命令,解释
tty 查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)
九、配置nat网络:
https://www.cnblogs.com/pyyu/p/9689138.html
十、配置SSHD服务
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式。在此之前,一般使用 FTP 或 Telnet 来进行远程登录。但是因为它们 以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中 间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。
想要使用 SSH 协议来远程管理 Linux 系统,则需要部署配置 sshd 服务程序。sshd 是基于 SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
- 基于口令的验证-------用账号和密码登录
- 基于密钥的验证-------需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;
超哥之前说过“Linux一切接文件”,也就是在Linux系统中修改服务程序,都得去修改它对应的配置文件,sshd程序的配置文件是/etc/ssh/sshd_config,检查配置文件参数
grep -v '^#' /etc/ssh/sshd_config |grep -v '^$'
在RHEL7系统中,已经默认安装启动了SSHD服务,
使用密码登录
ssh 192.168.12.15
基于口令的认证
1.在第一次登录的时候,系统会出现下面的提示信息:
The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established. RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d. Are you sure you want to continue connecting (yes/no)?
上面的信息说的是:无法确认主机ssh-server.example.com(12.18.429.21)的真实性,不过知道它的公钥指纹,是否继续连接?
输入yes之后,那么该host key会被加入到Client的known_hosts中,格式如下
pyyuc.cn,123.206.16.61 ecdsa-sha2-nistp256....
终端提示如下:
Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts. Password: (enter password)
提示该host已经被确认,并追加到文件known_hosts中,然后就要输入密码,之后的流程如图
使用安全秘钥
加密是对信息进行编码和解码的技术,它通过一定的算法将原本可以直接阅读的铭文信息转换成密文。密钥就是密文的钥匙,有私钥和公钥之分。
在数据传输时,担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再传送。这样只有掌握私钥的用户才能解密这段数据,除此之外的其让人即使截取了数据,也很难将其破解成明文。
基于公钥的免密登录
1.在客户端主机生成“秘钥对”
ssh-keygen
2.第二步:吧客户端主机中生成的公钥文件传送至远程主机:
3.对服务器端进行设置,使其只能允许秘钥登录,拒绝口令登录,然后重启sshd服务
vim /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd
4.在客户端即可免密登录服务器了
练习
1) 开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语
2) 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符
3) 使用命令退出虚拟终端2上登录的用户
4) 使用快捷键切换到虚拟终端5,使用管理员身份登录,查看系统提示符
5) 使用命令退出虚拟终端5上登录的用户
6) 切回图形界面,右单击桌面打开终端,输入关闭系统的命令<br>7) 成功设置服务器免密登录