目录概要



0x00前言

本文主要收集日常工作、实验中的各种琐碎记录。因为本人记忆力较差,故产生本记录!

0x01日常使用

0x001、关闭selinux时配置错误导致linux服务器无法正常启动?

解决:进入单用户模式,从新更改配置文件,其它类似问题同理

0x002、进入单用户模式方法?

开机进入如下界面,按下e

Linux琐碎知识汇总_单用户模式

在该页面按下键寻找​​ro​

Linux琐碎知识汇总_linux_02

按下键找到​​ro​​,ro的意思是read only,将​​ro​​替换为​​rw init=/sysroot/bin/sh​

Linux琐碎知识汇总_配置文件_03

按​​ctrl+x​​进入单用户模式

Linux琐碎知识汇总_linux_04

0x0001单用户模式修改root密码

执行chroot /sysroot命令用于切换系统,/sysroot/目录就是原始系统

执行touch /.autorelabel 执行这行命令作用是让SELinux生效,如果不执行,密码不会生效。按Ctrl+D,执行reboot重启生效

Linux琐碎知识汇总_linux_05

按ctrl+d,然后重起系统使更改生效(reboot)

Linux琐碎知识汇总_配置文件_06

0x003、设置服务开机自启动?

systemctl stop firewalld
sysemctl enable firewalld

0x004、关闭防火墙

同上

0x005、关闭selinux

vi /etc/selinux/config
设置SELINUX=disabled

Linux琐碎知识汇总_运维_07

6、关闭networkmanager

systemctl stop NetworkManager
systemctl disable NetworkManager 永久关闭网络管理命令

0x02服务相关

1、安装Mysql服务

2、安装php7.4

3、安装httpd

4、安装nginx

0x03常见配置

0x001网络设置

0x0001配置动态ip

0x0002配置静态IP

进入配置文件夹
cd /etc/sysconfig/network-scripts

Linux琐碎知识汇总_运维_08

查询当前dhcp分配的IP

Linux琐碎知识汇总_服务器_09

查看网关信息

route -n

Linux琐碎知识汇总_服务器_10

查看dns信息

cat /etc/resolv.conf

Linux琐碎知识汇总_配置文件_11

配置
vim ifcfg-ens33

Linux琐碎知识汇总_服务器_12

DNS1=192.168.110.2
DNS2=8.8.8.8
IPADDR=192.168.110.128
NETMASK=255.255.255.0
GATEWAY=192.168.110.2
systemctl restart network

Linux琐碎知识汇总_单用户模式_13

测试网络是否正常

Linux琐碎知识汇总_配置文件_14

0x002ssh配置

0x0001配置ssh远程登录

一般情况下,服务器启动,端口没有问题,登录地址正确,并且确定允许密码或者ssh登录的用户,基本都可以通过远程ssh的方式登录服务器

vim /etc/ssh/sshd_config 
Port 22
PasswordAuthentication yes
ListenAddress 0.0.0.0
AllowUsers newusername //允许制定用户使用SSH登陆 #centos7默认配置未发现该项
systemctl start sshd

0x0002ssh安全配置

Port 22                  # 可以更改ssh登录端口
ListenAddress 0.0.0.0 #可以通过这里设置白名单登录
PermitRootLogin no #可以设置禁用root远程登录,通过其它用户远程登录后再切换root
MaxAuthTries 6 #设置最大重试次数
PermitEmptyPasswords no #禁止空密码登录

示例

sshd_config最后增加该选项可以指定用户从指定ip登录

AllowUsers anan@192.168.1.2

0x003ssh配置公钥登录

一般情况下对于Linux服务的管理我都是采用ssh账户登陆,对于企业可能拥有高级网络工程师,能够搞定ssh不出网。但是作为小企业或者个人而言,我们ssh一般都会出网,可能安全意识高一些的会将22端口更改,安全意识低的就直接在公网暴露ssh端口,也因此有很多小伙伴的服务器每天在遭受着来自全球的暴力破解攻击。今天我们一起学习一下如何不通过ssh账户密码来控制我们的Linux,那就是使用密钥对。

第一步:制作密钥对

按如下操作完成,会在用户根目录下生成.ssh文件夹

[root@localhost ~]# ssh-keygen         #生成秘钥对命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #这里直接回车即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #第一次测试这里直接回车
Enter same passphrase again: #第一次测试这里直接回车
Your identification has been saved in /root/.ssh/id_rsa. #这是我们的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. #这是我们的公钥
The key fingerprint is:
SHA256:gXk+GVw+zqzENR0SprrxGOdtyjzZwvEFAdNfrN9+ntY root@localhost
The key's randomart image is:
+---[RSA 2048]----+
| oo=... |
| + *oo .o |
| o * =o.o |
| = O.oo |
| + S +. . . |
| X.+ . . .|
| o.+=o. ..|
| o=oo .E|
| +o .oo|
+----[SHA256]-----+

第二步:安装公钥

[root@localhost ~]# cd .ssh   #进入隐藏目录
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys #将公钥写入指定文件
[root@localhost .ssh]# ls #查看结果
authorized_keys id_rsa id_rsa.pub

第三步:设置权限

为保证能够连接成功,至少需要配置如下权限

[root@localhost .ssh]# chmod 600 authorized_keys   #保证authorized_keys读写权限
[root@localhost .ssh]# chmod 700 ~/.ssh #给.ssh读写执行权限
[root@localhost .ssh]# ll
总用量 12
-rw-------. 1 root root 396 12月 23 17:50 authorized_keys
-rw-------. 1 root root 1675 12月 23 17:44 id_rsa
-rw-r--r--. 1 root root 396 12月 23 17:44 id_rsa.pub

第四步:配置SSH

[root@localhost ~]# vim /etc/ssh/sshd_config 
#允许秘钥认证,如果配置文件中没有则添加
RSAAuthentication yes
PubkeyAuthentication yes
#允许root登录,不轮密码还是秘钥,都需要打开
PermitRootLogin yes
#设置是否允许密码登录,建议秘钥能登录后再修改成no
PasswordAuthentication no

第五步:Linux中涉及配置文件修改的地方要重启服务

[root@localhost ~]# systemctl restart sshd

第六步:将私钥下载下来

我下载下来,放到了D盘

[root@localhost .ssh]# ls 
authorized_keys id_rsa id_rsa.pub
#id_rsa 使我们下载的私钥文件

第七步:使用ssh工具连接

这里我使用finalshell这款ssh工具进行测试

Linux琐碎知识汇总_单用户模式_15

Linux琐碎知识汇总_服务器_16

Linux琐碎知识汇总_服务器_17

更安全的ssh私钥:为私钥设置密码

私钥文件可以拷贝,所以存在一定风险,为了避免被他人盗用,我们接下来生成带“密码”的私钥

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #直接回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #输入私钥密码
Enter same passphrase again: #再次输入私钥密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+ca2UcZlMe1jpsFbF1n9b4WhCZEnzB3B7wsPVNY9fAc root@localhost
The key's randomart image is:
+---[RSA 2048]----+
| o.=ooE+*|
| * + +BB|
| +.*o+*|
| . .+=o==|
| S .+.B =|
| o ooo. o|
| * + o |
| o o o |
| . |
+----[SHA256]-----+

后续步骤按照第一种生成密钥的方式进行即可,这里我不再赘述。

Linux琐碎知识汇总_服务器_18Linux琐碎知识汇总_配置文件_19

总结

最后切记去配置文件关闭密码登陆

[root@localhost ~]# vim /etc/ssh/sshd_config 
#设置将PasswordAuthentication 的值设置为no即可
PasswordAuthentication no
[root@localhost ~]# systemctl restart sshd

0x04常用命令整理