第一题 实现sshd免密登录
切换到 .ssh目录下 cd .ssh/
ssh-keygen 生成私钥公钥对默认是放在/root/.ssh/下 回车会问你要不要给私钥加口令,继续回车,私钥公钥生成好了,把公钥复制到其他主机
ssh-copy-i -i /root/.ssh/id_rsa.pub 192.168.xxx.xxx
默认是复制到其他主机/root/.ssh下的 并且文件名是keys结尾的
输入其他主机口令,下次就可以直接登录
同理把其他主机公钥复制到本机这个目录下,登录其他主机也是免密的
第二题 编译安装dropbear实现SSH登录
tar -xvf dropbear-2019.78.tar.bz2 解压
切换到dropbear-2019.78目录下
第一步./configure
./configure --prefix=PREFI( 安装路径) --sysconfdir=IDR(配置文件要不指定默认和安装路径一起)
第二步 执行 make
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
第三步
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install
编译安装完成,以下是启动
mkdir /etc/dropbear 创建配置文件目录
生成私钥公钥对并指定路径
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
服务器端启动 要进入/etc/dropbear/sbin
执行 dropbear -FN -p 9527
F是前台执行 E是标准输出 p是指定端口,默认22端口
主机登录 ssh 192.xxx.xxx.xx -p 9527 输入口令就可以登录 管理服务器
客户端启动要进入/etc/dropbear/bin
dbclient -p 9527 192.xxx.xxx.xxx
第三题 实现单个用户及用户组使用sudo执行所有命令
切换到/etc/sudoers.d/下创建文件夹 test
在里面编写
test ALL=(ALL) ALL test 表示用户 ALL表示所有终端,(ALL)表示以所有用户身份运行,最后ALL表示能执行所有命令
%tests ALL=(ALL) ALL %tests 为用户组,把普通的用户加到这个组里,他就和组有一样的权利
su - test 用sudo 可以执行所有命令 sudo cat /etc/shadow
第四题 简述rsync 用于那些场景,并对比scp有哪些优势
scp拷贝时,会把指定的文件全部拷贝一遍 将会浪费时间和宽带资源
rsync 复制时候会比较文件是否xiang相同,如果一样他就不会复制,不一样在复制,而且复制速度快,用于复制一些大文件
第五题 搭建DHCP服务 实现自动获取IP地址
服务器桥接去掉,改用仅主机网卡,把虚拟机的虚拟网络编辑器打开仅主机的dhcp勾去掉安装dhcp软件,默认是无法直接启动服务的 根据配置文件提示,要把
/usr/share/doc/dhcp*/dhcpd.conf.example 复制到这个文件并覆盖/etc/dhcp/dhcpd.conf,然后编辑此文件
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
找到这行进行subnet后面是网络段和子网,range这行是要分配的地址,并以;分号结尾,不然会出错
subnet 192.168.111.0 netmask 255.255.255.0 {
range 192.168.111.10 192.168.111.200;
}
这样其他主机就可以通过仅主机由这台机器进行分配地址 dhclient -d
第六题 搭建PXE实现自动化安装系统
1.安装前准备
关闭防火墙selinux ,配置dhcp 服务 ,配置yum源
mount /dev/sr0 /var/www/hrml/centos7/
yum install httpd tftp-serer dhcp syslinux -y
编辑dhcp配置文件
ccp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf #复制官方范例覆盖现有配置文件,
vim /etc/dhcp/dhcpd.conf
subnet 192.168.34.0 netmask 255.255.255.0 {
next-server 192.168.34.145;
range 192.168.34.150 192.168.1.240; #ip分配范围
filename "pxelinux.0";
}
2.配置应答文件
用系统自带的修改一下 anaconda-ks.cfg ,并改名为ks.cfg 放在/var/www/html/ksdir/下
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url=httpd://192.168.34.140/centos/7/os/x86_64/
# Use graphical install
text
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network --hostname=centos7.localdomain
# Root password
rootpw --iscrypted $6$7tYp0MlPcNtJ/KrN$uM7nUsTmddV.7g6aGKCng/kNGDSujpPcNYW7poNTY6UYurKxTAall.HPEckyIoo3Kd9Un/h2kN8L8wZGIhi0.
# System services
firewall --disabled
selinux --disabled
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# X Window System configuration information
#xconfig --startxonboot
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel
zerombr
reboot
#Disk partitioning information
part / --fstype="xfs4" --ondisk=sda --size=50000
part /boot --fstype="xfs4" --ondisk=sda --size=1024
part /home --fstype="xfs4" --ondisk=sda --size=40000
part swap --fstype="swap" --ondisk=sda --size=4000
part /data --fstype="xfs4" --ondisk=sda --size=40000
%packages
@base
@core
%end
- 复制相关文件 到 /var/lib/tftpboot/下
cp /usr/share/syslinux/{menu.c32,pxelinux.0} /var/lib/tftpboot/
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg/ 这样目录
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/defaul
文件列表有这些
/var/lib/tftpboot/
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│ └── default
└── vmlinuz
5.编辑/var/lib/tftpboot/pxelinux.cfg/下的 default文件,这个是启动菜单
default menu.c32
timeout 400
menu title PXE CentOS 7
label mini
menu label ^Auto Install Mini CentOS 7
kernel vmlinuz
append initrd=linux7/initrd.img ks=http://192.168.34.140/ksdir/ks.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
- 启动服务相关服务 systemctl start dhcpd tftp.socket httpd,并查看67,69 ,80 端口是否开了 ,然后就可以安装系统了
第七题 搭建Cobbler实现自动化安装系统
1.安装cobbler和DHCP服务,关闭selinux 以及firewall
yum install cobbler dhcp -y
启动http tftp cobbler服务
systemctl start tftp httpd cobblerd
2 cobbler check 检查
根据提示
vim /etc/cobbler/settings
修改服务器是 server IP
为了让PXE正常工作需要配置next_server IP
default_passwd修改默认root口令 里面有生成的命令 打开窗口输入 openssl passwd -1 生成的口令替换就可以了
让cobbler自动管理DHCP manage_dhcp: 0 配置文件 改为1
vim /etc/xinetd.d/tftp 将yes 改为no
3.下载相关文件
cobbler get-loaders
执行cobbler sync同步到/var/lib/tftpboot/下
4.修改/etc/cobbler/dhcp.template 模板文件间接生成/etc/dhcp/dhcpd.conf
subnet 192.168.37.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.37.150 192.168.37.254;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
然后cobbler sync 同步 重启dhcp服务
5.准备yum源
cobbler import --name=centos7 --path=/misc/cd --arch=x86_64 这里没有指定应答文件 系统默认最小化安装
cobbler sync同步,这时候就会生成启动菜单
cobbler 自动安装系统就可以了