背景/任务:
为了最大程度的保护公司内网服务器的安全,公司内部有一台服务器做跳板机。运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。由于业务需求,运维人员经常要ssh登录到某几台服务器上做一些操作,为了提高工作效率,运维人员需要免密码登录到指定的几台服务器。
环境:
角色 | IP |
---|---|
jumper-server | 192.168.199.107/10.1.1.1 |
app1-server | 10.1.1.2 |
app2-server | 10.1.1.3 |
app3-server | 10.1.1.4 |
要求如下:
涉及知识点:
背景/任务:
要求如下:
涉及知识点:
一问:
==sshd服务是干什么的?ssh又是什么?为什么要讲ssh?==
二问:
==ssh的两种加密算法是什么?==
补充了解:
DSA数字签名,非对称加密的另一种实现。
DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种。简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据和签名不匹配则认为验证失败!数字签名的作用就是校验数据在传输过程中不被修改。
1、远程Server收到Client端用户的登录请求后,Server端把自己的公钥发给用户 2、Client端使用这个公钥,将密码进行加密 3、Client将加密的密码发送给Server端 4、远程Server用自己的私钥,解密登录密码,然后验证其合法性 5、根据验证结果,给Client相应的响应。
三问:
==SSH中是如何解决这个问题的呢?==
[root@MissHou ~]# ssh 192.168.10.171
The authenticity of host '192.168.10.171 (192.168.10.171)' can't be established.
RSA key fingerprint is 9f:71:de:3c:86:25:dd:f0:06:78:ab:ba:96:5a:e4:95.
Are you sure you want to continue connecting (yes/no)?
提示信息:无法确认主机192.168.10.171的真实性,指纹是9f:71:de:3c:86:25:dd:f0:06:78:ab:ba:96:5a:e4:95.
,你确定想要继续吗?
说明: 理论上应该是对公钥的确认,由于公钥通过RSA算法加密,太长,不好直接比较,所以给公钥生成一个hash的指纹,方便比较。
xxxxxxxxxx
[root@MissHou ~]# ssh 192.168.10.171
The authenticity of host '192.168.10.171 (192.168.10.171)' can't be established.
RSA key fingerprint is 9f:71:de:3c:86:25:dd:f0:06:78:ab:ba:96:5a:e4:95.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.171' (RSA) to the list of known hosts.
root@192.168.10.171's password:
说明:
当客户端输入yes确认对方的公钥指纹后,server端的公钥就会被存放到客户机的用户家目录里~/.ssh/known_hosts文件中,下次再访问就直接通过密码登录,不需要再确认公钥。
基于秘钥对的认证(免密码登录)
一问:
==常见的文件共享服务都有哪些?各自有什么特点?应用场景有哪些?==
二问:
==FTP服务的工作模式有哪两种,分别有什么优缺点?==
三问:
==企业里NFS一般用来做什么?==
xxxxxxxxxx
跳板机:
IP:10.1.1.1和192.168.0.10 HOSTNAME:Jumper.itcast.cc
应用服务器:
IP:10.1.1.2 HOSTNAME:app1.itcast.cc
说明:
应用服务器可以根据自己情况增加多台,我这里就一台了。
步骤:
x
root ALL=(ALL) ALL
yunwei ALL=(root) ALL, !/sbin/halt, !/sbin/shutdown, !/bin/rm /
要求如下:
xxxxxxxxxx
任务1:
任务2:
任务3:
####需求1:
系统使用最小化安装,现需要安装一些基础软件包,请根据系统镜像配置本地yum源
步骤
自己补充
####需求2:
Centos默认使用自带的国外源,由于网络问题请将其替换为国内的阿里云源,163源,sohu源其中之一
重点配置文件
xxxxxxxxxx
[server]
name=xxx
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
http://mirrors.163.com/centos/6/os/x86_64/
http://mirrors.sohu.com/centos/6/os/x86_64/
enabled=1
gpgcheck=0
####需求3:
通过两种方式搭建EPEL源
方法1:下载相应的rpm包后直接安装
http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
xxxxxxxxxx
[root@MissHou yum.repos.d]# wget -P /tmp http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
--2018-04-15 21:52:04-- http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
Resolving mirrors.aliyun.com... 219.238.20.83, 219.238.20.101, 219.238.20.84, ...
Connecting to mirrors.aliyun.com|219.238.20.83|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-redhat-package-manager]
Saving to: “/tmp/epel-release-6-8.noarch.rpm”
100%[===================================================================================================================>] 14,540 --.-K/s in 0.04s
2018-04-15 21:52:05 (340 KB/s) - “/tmp/epel-release-6-8.noarch.rpm” saved [14540/14540]
[root@MissHou yum.repos.d]# ls
bakup demo.repo
[root@MissHou yum.repos.d]# ls /tmp/epel-release-6-8.noarch.rpm
/tmp/epel-release-6-8.noarch.rpm
[root@MissHou yum.repos.d]# rpm -ivh /tmp/epel-release-6-8.noarch.rpm
warning: /tmp/epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
[root@MissHou yum.repos.d]# ls
bakup demo.repo epel.repo epel-testing.repo
说明:
1. 安装完epel-release-6-8.noarch.rpm包后,默认/etc/yum.repos.d/目录里多出epel.repo和epel-testing.repo文件
2. 只要可以上网,epel源就自动配置好了
方法2:直接修改配置文件
xxxxxxxxxx
[aliyun]
name=xxxx
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
enabled=1
gpgcheck=0
搭建能够提供指定软件包的安装,如Nginx和MySQL的yum源
xxxxxxxxxx
Nginx:
[root@MissHou ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/x86_64/
gpgcheck=0
enabled=1
MySQL:
通过下载以下rpm包安装可以自动帮助配置yum源,只需要安装即可。
http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
本地yum源(重点掌握)、网络yum源(掌握)、自建yum源(了解)
需要有个仓库(仓库里有软件并且还有软件之间的依赖关系)
需要修改/etc/yum.repos.d/目录里以*.repo结尾的文件告诉yum工具去哪个仓库找软件包
xxxxxxxxxx
[repositoryid] //仓库名或ID不要有特殊符号
name=Some name for this repository //仓库描述
baseurl=url://path/to/repository/ //仓库路径
enabled=1 //启用仓库
gpgcheck=0 //不校验仓库里软件包的签名
[repositoryid]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
enabled=1
gpgcheck=0