ssh
配置网络服务
配置网卡的4种方法:
修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eno16777736,配置完重启网卡服务;
nmtui(旧版UI界面)
nm-connection-editor(新版UI界面)
Linux系统右上角电脑图标,打开并做相应编辑。
创建网络会话 :
RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。
具体参数意义:
con-name:网络会话名称
type:网络类型
ifname:网卡名称
autoconnect :网络会话默认是否自动激活,yes是no否
ip4:ip地址及子网掩码
gw4:网关
add/delete:添加/删除
up/down:启用/禁用
创建公司与家庭的IP地址:
nmcli connection show
nmcli connection add con-name company ifname eno16777736 autoconnect no type ethernet ip4 192.168.12.10/30 gw4 192.168.12.1
nmcli connection add con-name house type ethernet ifname eno16777736
nmcli connection show
nmcli connection up house
nmcli connection show
nmcli connection down house
nmcli connection show
nmcli connection delete house
nmcli connection show
绑定两块网卡
网卡绑定技术:对2块以上网卡实施绑定技术,在正常工作中网卡会共同传输数据,网络传输速度更快;当其中一块网卡出现故障,另一块网卡会立即自动顶替,保证网络传输不间断。
常见网卡绑定驱动的模式:
mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
例子:
cd /etc/sysconfig/network-scripts/
vim ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno16777736
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
vim ifcfg-eno33554992
TYPE=Ehternet
BOOTPROTO=none
DEVICE=eno33554992
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
vim ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
DEVIVE=bond0
ONBOOT=yes
USERCTL=no
IPADDR=192.168.12.20
PREFIX=24
DNS=192.168.12.1
NM_CONTROLLED=no
vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6
systemctl restart network
sshd配置:
“Linux系统中的一切都是文件”,因此在Linux系统中修改服务程序的运行参数,实际上就是在修改程序配置文件的过程。sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中
sshd服务配置文件中包含的参数以及作用 :
参数 | 作用 |
---|---|
Port 22 | 默认的sshd服务端口 |
ListenAddress 0.0.0.0 | 设定sshd服务器监听的IP地址 |
Protocol 2 | SSH协议的版本号 |
HostKey /tc/ssh/ssh_host_key | SSH协议版本为1时,DES私钥存放的位置 |
HostKey /etc/ssh/ssh_host_rsa_key | SSH协议版本为2时,RSA私钥存放的位置 |
HostKey /etc/ssh/ssh_host_dsa_key | SSH协议版本为2时,DSA私钥存放的位置 |
PermitRootLogin yes | 设定是否允许root管理员直接登录 |
StrictModes yes | 当远程用户的私钥改变时直接拒绝连接 |
MaxAuthTries 6 | 最大密码尝试次数 |
MaxSessions 10 | 最大终端数 |
PasswordAuthentication yes | 是否允许密码验证 |
PermitEmptyPasswords no | 是否允许空密码登录(很不安全) |
配置sshd服务,禁止以root管理员身份远程登录服务器。
ssh 192.168.12.20
exit
vim /etc/ssh/sshd_config
48 PermitRootLogin no
systemctl restart sshd
systemctl enable sshd
ssh 192.168.12.20
安全密钥验证
加密是对信息进行编码和解码的技术,它通过一定的算法(密钥)将原本可以直接阅读的明文信息转换成密文形式。密钥即是密文的钥匙,有私钥和公钥之分。
配置ssh以密钥方式验证
ssh-keygen
ssh-copy-id 192.168.12.20
vim /etc/ssh/sshd_config
78 PasswordAuthentication no
systemctl restart sshd
ssh 192.168.12.20
远程传输命令:
scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令
scp命令中可用的参数及作用:
参数 | 作用 |
---|---|
-v | 显示详细的连接进度 |
-P | 指定远程主机的sshd端口号 |
-r | 用于传送文件夹 |
-6 | 使用IPv6协议 |
Apache
网站服务程序
我们平时访问的网站服务就是Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务。目前能够提供Web网络服务的程序有IIS、Nginx和Apache
部署Apache程序:
yum install httpd (Apache服务的软件包名为httpd)
systemctl start httpd
systemctl enable httpd
配置服务文件参数 ;
httpd服务程序的主要配置文件及存放位置
配置文件 | 存放位置 |
---|---|
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
解决被SELinux拦截的问题:
实现个人用户主页功能:
修改保存网站数据的目录:
在配置虚拟网站主机功能前,做些基本设置:分别在/home/wwwroot中创建用于保存不同网站数据的3个目录,并向其中分别写入网站的首页文件
虚拟网站主机功能:
1.基于IP地址实现虚拟网站主机功能。
2.在1的基础之上,基于主机域名实现虚拟网站主机功能。
3.在1的基础上,基于端口号实现虚拟网站主机功能
设置Apache访问控制,使得只有ip地址为192.168.10.1或使用火狐浏览器的客户端才能访问指定的网页。
mkdir /var/www/html/server
echo “NB” > /var/www/html/server/index.html
vim /etc/httpd/conf/httpd.conf
129 <Directory “/var/www/html/server”>
130 SetEnvIf User-Agent “Firefox” ff=1
131 Order allow,deny
132 Deny from 192.168.12.55
133 Allow from env=ff
134 Allow from 192.168.12.1
135
systemctl restart httpd
vsftpd
文件传输协议
FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数
FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据传输链路的主机。
FTP协议有下面两种工作模式:
主动模式:FTP服务器主动向客户端发起连接请求。
被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。
vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性、传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点。
vsftpd服务程序常用的参数以及作用
参数 | 作用 |
---|---|
listen=[YES/NO] | 是否以独立运行的方式监听服务 |
listen_address=IP地址 | 设置要监听的IP地址 |
listen_port=21 | 设置FTP服务的监听端口 |
download_enable=[YES/NO] | 是否允许下载文件 |
userlist_enable=[YES/NO | ]设置用户列表为“允许”还是“禁止”操作 |
userlist_deny=[YES/NO] | 设置用户列表为“允许”还是“禁止”操作 |
max_clients=0 | 最大客户端连接数,0为不限制 |
max_per_ip=0 | 同一IP地址的最大连接数,0为不限制 |
anonymous_enable=[YES/NO] | 是否允许匿名用户访问 |
anon_upload_enable=[YES/NO] | 是否允许匿名用户上传文件 |
anon_umask=022 | 匿名用户上传文件的umask值 |
anon_root=/var/ftp | 匿名用户的FTP根目录 |
anon_mkdir_write_enable=[YES/NO] | 是否允许匿名用户创建目录 |
anon_other_write_enable=[YES/NO] | 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限) |
anon_max_rate=0 | 匿名用户的最大传输速率(字节/秒),0为不限制 |
local_enable=[YES/NO] | 是否允许本地用户登录 |
FTPlocal_umask=022 | 本地用户上传文件的umask值 |
local_root=/var/ftp | 本地用户的FTP根目录 |
chroot_local_user=[YES/NO] | 是否将用户权限禁锢在FTP目录,以确保安全 |
local_max_rate=0 | 本地用户最大传输速率(字节/秒),0为不限制 |
Vsftpd服务程序 :
vsftpd作为更加安全的文件传输的服务程序,允许用户以三种认证模式登录到FTP服务器上。
1.匿名开放模式
参数 | 作用 |
---|---|
anonymous_enable=YES | 允许匿名访问模式 |
anon_umask=022 | 匿名用户上传文件的umask值 |
anon_upload_enable=YES | 允许匿名用户上传文件 |
anon_mkdir_write_enable=YES | 允许匿名用户创建目录 |
anon_other_write_enable=YES | 允许匿名用户修改目录名称或删除目录 |
2.本地用户模式
参数 | 作用 |
---|---|
anonymous_enable=NO | 禁止匿名访问模式 |
local_enable=YES | 允许本地用户模式 |
write_enable=YES | 设置可写权限 |
local_umask=022 | 本地用户模式创建文件的umask值 |
userlist_deny=YES | 启用“禁止用户名单”,名单文件为ftpusers和user_list |
userlist_enable=YES | 开启用户作用名单文件功能 |
3.虚拟用户模式
参数 | 作用 |
---|---|
anonymous_enable=NO | 禁止匿名开放模式 |
local_enable=YES | 允许本地用户模式 |
guest_enable=YES | 开启虚拟用户模式 |
guest_username=virtual | 指定虚拟用户账户 |
pam_service_name=vsftpd.vu | 指定PAM文件 |
allow_writeable_chroot=YES | 允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求 |
TFTP简单文件传输协议 :
简单文件传输协议(Trivial File Transfer Protocol,TFTP)是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议。顾名思义,它提供不复杂、开销不大的文件传输服务(可将其当作FTP协议的简化版本)。
安装TFTP服务:yum install -y tftp_server。
安装TFTP客户端工具:yum install -y tftp
参数 | 作用 |
---|---|
? | 帮助信息 |
put | 上传文件 |
get | 下载文件 |
verbose | 显示详细的处理信息 |
status | 显示当前的状态信息 |
binary | 使用二进制进行传输 |
ascii | 使用ASCII码进行传输 |
timeout | 重置传输的超时时间 |
quit | 退出 |