7.做跳板机免密连接其他虚拟机

Posted jkz1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.做跳板机免密连接其他虚拟机相关的知识,希望对你有一定的参考价值。

使用 ssh-keygen

想要用哪一台机器,免密连接其他机器,那就给哪一台机器创建秘钥对,然后把公钥发送给想要连接的那台机器。

想让m01(10.0.0.61)免密连接其他所有机器:

  • 在m01上创建秘钥对
  • 把公钥发送给其它所有的机器
# 1.创建秘钥对
[root@m01 ~]# ssh-keygen 

# 2.发送公钥
[root@m01 ~]# ssh-copy-id ~/.ssh/id_rsa.pub root@IP
[root@m01 .ssh]# ll
total 8
-rw------- 1 root root 1679 May 12 17:10 id_rsa                
-rw-r--r-- 1 root root  390 May 12 17:10 id_rsa.pub

## 该文件产生原因:该机器,远程连接过某一台机器,就会产生该文件
-rw-r--r-- 1 root root  390 May 12 17:10 know_hosts

常见错误

技术图片

# 遇到该错误,删除第11行的文件   rm -f ~/.ssh/known_hosts

# 每台机器,第一次与其它机器建立连接时。都需要询问yes/no

SSH优化

[root@m01 ~]# vim /etc/ssh/sshd_config 

# 不需要一条条寻找,直接找空行处复制就可以了

## 在企业中需要优化哪些项
---- 安全方面 ----
# 1.修改端口
Port 52020  (1-65535,不能占用其它服务的常用端口)
# 2.禁止root登录
PermitRootLogin no
# 3.禁止密码登录
PasswordAuthentication no

---- 性能方面 ----
# 4.不使用DNS反向解析
UseDNS no
# 5.不使用GSS认证
GSSAPIAuthentication no

## 重启服务
[root@lb01 ~]# systemctl restart sshd



## 上课的时候
---- 性能方面 ----
# 1.不使用DNS反向解析
UseDNS no
# 2.不使用GSS认证
GSSAPIAuthentication no

## 重启服务
[root@lb01 ~]# systemctl restart sshd

免交互expect[扩展]

1.安装expect,一门语言可以制作密码(makepaawd)

[root@m01 ~]# yum install -y expect
[root@m01 ~]# vim mianjiaohu.exp

2.编写expect脚本

#!/usr/bin/expect
set ip 10.0.0.51
set pass 123456
set timeout 30
spawn ssh root@$ip
expect {
        "(yes/no)" {send "yes
"; exp_continue}
        "password:" {send "$pass
"}
}
expect "root@*"  {send "df -h
"}
expect "root@*"  {send "exit
"}
expect eof

3. 执行

[root@m01 ~]# expect mianjiaohu.exp

免交互sshpass[扩展]

[root@nfs ~]# yum install -y sshpass
sshpass -p 1 ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.41

-p:指定密码
-f:从文件中取密码
-e:从环境变量中取密码
-P:设置密码提示

Web 基础协议 HTTP

# 已经学的一些服务的端口
ftp:21
ssh:22
telnet:23
rsync:873
http:80

HTTP:全称:超文本传输协议(Hyper Text Transfer Protocol )

# 什么是超文本
包含有超链接(link)和各种多媒体元素(Markup)的文本,这些超文本彼此连接,形成网状(webPage)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言html。

也可以这么理解:通过一个超链接,打开一个文本
当我们打开浏览器访问百度:https://www.baidu.com
浏览器在帮你,去百度的服务器上下载一个文本(index.html)

# 什么是URL
统一资源定位符(唯一标识)

# URL的组成
URL由协议、主机和端口(默认为80)以及文件名三部分构成

例:http://www.biadu.com:90/epel/1.txt
# http://                 ------->      协议
# www.biadu.com:90        ------->      主机ip:端口
# 文件名和路径             ------->       服务器站点目录下的目录和文件

HTTP工作原理

技术图片

原理

1.当你在浏览器中输入一个网址的时候

https://www.sogou.com/tx?query=上海天气&hdq=sogou-site-706608cfdbcc1886&ekv=3&ie=utf8&

2.浏览器会向dns服务器请求解析,该url中的域名www.sogou.com,解析出搜狗服务器所在的ip地址

3.DNS服务器会将解析出来的ip地址返回给浏览器

4.浏览器收到DNS返回的IP地址,立即与该IP所在的服务器建立TCP连接

5.浏览器请求该服务器的页面返回

6.服务器给出响应,返回页面

7.释放TCP连接

8.客户端显示页面

# 举例
演员表:
浏览器:刘大哥
DNS:中介
服务器:小姐姐
域名:小姐姐的照片

当在浏览器中输入一个http://www.driverzeng.com/index.html

1.找到心仪的小姐姐照片               #  www.driverzeng.com
2.询问中介,你告诉我www.driverzeng.com这个姑娘手机号是多少?   #  IP地址(138.38.38.3)
3.中介把手机号:138.38.38.3返回给刘大哥          # IP返给浏览器
4.跟小姐姐联系(建立TCP连接)                    # 浏览器与服务器建立连接
5.小姐姐,我想得到你的index.html...              # 请求index.html页面
6.好的,我给你                                  # 服务器给出index.html页面
7.断开连接                                      # 断开
8....                                           # 浏览器显示

访问网站分析

一个URL有可能会很长,以 & 为分隔符每一个 & 后面都是一个参数,如下所示:

https://www.sogou.com/tx?query=%E4%B8%8A%E6%B5%B7%E5%A4%A9%E6%B0%94
&hdq=sogou-site-706608cfdbcc1886
&ekv=3
&ie=utf8&

以上是关于7.做跳板机免密连接其他虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

大数据虚拟机免密登录

linux_配置三台虚拟机免密登录

Linux实现初装系统自动被跳板机基于key免密登录

Hadoop入门1

VSCode使用SSH免密登录虚拟机设置

Linux下trap+shell三层目录专业规范跳板机脚本