首页 > 其他 > 详细

6.如何免密连接虚拟机

时间:2020-06-02 00:05:17      阅读:74      评论:0      收藏:0      [点我收藏+]

问题

技术分享图片

rsync客户端创建密码文件时,不需要写用户名,只需要写密码

1.为什么要做共享储存

如果做客户端的web实时同步的话,则每台都要做重复的内容,浪费空间。

2.每台web都是rsync和sersync的服务端和客户端。

3.备份可以做NFS的高可用,解决单点故障

目前服务:

  • rsync
  • NFS
  • sersync

只要会搭建、配置,用起来简单

后面的服务:

搭建,配置,(深入)使用

SSH协议

# 端口号
ftp:21
ssh:22
telnet:23
rsync:873

更换协议需要更换端口号

技术分享图片

# SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。

ssh服务会对传输数据进行加密, 监听在本地22/tcp端口, ssh服务默认支持root用户登录
telnet服务不对数据进行加密, 监听在本地23/tcp端口, Telnet默认不支持root用户登录

服务连接方式 服务数据传输 服务监听端口 服务登陆用户
ssh 加密 22/tcp 默认支持root用户登陆
telnet 明文 23/tcp 不支持root用户登陆

使用wireshark可以验证telnet明文传输与ssh加密传输

ssh的相关命令

# ssh 远程登录
ssh root@10.0.0.41 -p 22
ssh root@driverzeng.com -p 22

-p:指定端口
root:远程连接的用户
@:只是一个分隔符
10.0.0.41:远程连接的主机IP

# scp 远程拷贝
例如:
[root@m01 ~]# scp /root/jump.sh root@172.16.1.41:/root/
# -P 指定端口,默认22端口可不写
# -r 表示递归拷贝目录
# -p 表示在拷贝文件前后保持文件或目录属性不变
# -l 限制传输使用带宽(默认kb)
# 结论:
1.scp通过ssh协议加密方式进行文件或目录拷贝。
2.scp连接时的用户作为为拷贝文件或目录的权限。
3.scp支持数据推送和拉取,每次都是全量拷贝,效率较低。

ssh免密登录

流程

技术分享图片

在跳板机上,创建一个秘钥对

  • 公钥(锁)

  • 私钥(钥匙)

    方法 1

## 发送公钥(需要知道root密码)
# 1.创建秘钥对
[root@web01 ~]# ssh-keygen
# 2.发送公钥
[root@web01 ~]# ssh-copy-id  -i /root/.ssh/id_rsa.pub root@172.16.1.41

技术分享图片

方法 2

## 发送公钥(不需要知道root密码)
# 1.查看公钥
[root@web01 .ssh]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3s+CqG3ViPUFtUmaYzX43qaBZ7gZOxiYYD8zIRBW5MIEDsyJ8MB5jQmq+0p9o1GTOlxDGdjrzsT9OTMVqnhBuETQ7CnlVGuFh6P0X5n+9DmsBl039Z7q43pfl6hbRJtoOF0enGKqiR5TFP/F0HmpDt/ILqX0qi80MIO6h+LrNEHPcS19t4WRb513spYz7XisEF3GW2Udpk2+4Rh4EbJaF52OdqP/ER8nGHDv1RnrFHwFZoH/PsiGFLmLFg1JPQziLYCe+Wy6OIfow96dQ5cMtW9OLtZKa3oI7qKxcJO53MV6YMCNTQ1uwpJyRIU9W8Du4tRSmWohRaLtmLfHrWVO9 root@web01

# 2.创建.ssh目录
[root@lb01 ~]# mkdir /root/.ssh

# 3.编辑公钥文件
[root@lb01 ~]# vim /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3s+CqG3ViPUFtUmaYzX43qaBZ7gZOxiYYD8zIRBW5MIEDsyJ8MB5jQmq+0p9o1GTOlxDGdjrzsT9OTMVqnhBuETQ7CnlVGuFh6P0X5n+9DmsBl039Z7q43pfl6hbRJtoOF0enGKqiR5TFP/F0HmpDt/ILqX0qi80MIO6h+LrNEHPcS19t4WRb513spYz7XisEF3GW2Udpk2+4Rh4EbJaF52OdqP/ER8nGHDv1RnrFHwFZoH/PsiGFLmLFg1JPQziLYCe+Wy6OIfow96dQ5cMtW9OLtZKa3oI7qKxcJO53MV6YMCNTQ1uwpJyRIU9W8Du4tRSmWohRaLtmLfHrWVO9 root@web01

# 4.授权
[root@lb01 ~]# chmod 600 /root/.ssh/authorized_keys 

# 5.修改.ssh目录权限
[root@lb01 ~]# chmod 700 /root/.ssh/

windows客户端也可以使用Xshell生成秘钥对

SSH生产场景案例

1.跳板机

# 写脚本
[root@m01 ~]# vim jump.sh
lb02=172.16.1.6
web01=172.16.1.7
web02=172.16.1.8
web03=172.16.1.9
nfs=172.16.1.31
backup=172.16.1.41
db01=172.16.1.51
m01=172.16.1.61
zabbix=172.16.1.71

cat <<EOF
        +-------------------------+
        |     1) lb01             |
        |     2) lb02             |
        |     3) web01            |
        |     4) web02            |
        |     5) web03            |
        |     6) nfs              |
        |     7) backup           |
        |     8) db01             |
        |     9) m01              |
        |     10) zabbix          |
        |     h) help             |
        +-------------------------+
EOF
read -p ‘Please Input Number: ‘ num

if [ $num -eq 1 ];then
  ssh root@$lb01
elif [ $num -eq 2 ];then
  ssh root@$lb02
elif [ $num -eq 3 ];then
  ssh root@$web01
elif [ $num -eq 4 ];then
  ssh root@$web02
elif [ $num -eq 5 ];then
  ssh root@$web03
  elif [ $num -eq 6 ];then
  ssh root@$nfs
elif [ $num -eq 7 ];then
  ssh root@$backup
elif [ $num -eq 8 ];then
  ssh root@$db01
elif [ $num -eq 9 ];then
  ssh root@$m01
  elif [ $num -eq 10 ];then
  ssh root@$zabbix
fi

Linux9期-架构day06作业

要求

1.在m01上免密连接其他所有机器
2.尝试写一个跳板机的脚本

[root@m01 ~]# 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:yD0Fa7Wavy3o8itrzU2T8biTJrJrlt2XRllczoOv98A root@m01
The key‘s randomart image is:
+---[RSA 2048]----+
|        . .      |
|         + .    .|
|        o o  ..+ |
|     . + +.  .o.o|
|      o S  = o. .|
|         o= +. . |
|       = =.= .E  |
|      O * Oo+. o |
|     ++X++.=. . o|
+----[SHA256]-----+

[root@m01 ~]# vim lianjie.sh
#!/bin/bash
for i in 5 6 7 8 9 31 41 51 52 53 54 61 71 ;do
ssh-copy-id  -i /root/.ssh/id_rsa.pub root@172.16.1.$i
done

[root@m01 ~]# sh lianjie.sh
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.16.1.71‘s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh ‘root@172.16.1.71‘"
and check to make sure that only the key(s) you wanted were added.


一直在root@172.16.1.71‘s password:输入密码就行
想了一晚上不会,还是就这样吧,沃土了

2.写一个跳板机

# 写脚本
[root@m01 ~]# vim jump.sh
lb02=172.16.1.6
web01=172.16.1.7
web02=172.16.1.8
web03=172.16.1.9
nfs=172.16.1.31
backup=172.16.1.41
db01=172.16.1.51
m01=172.16.1.61
zabbix=172.16.1.71

cat <<EOF
        +-------------------------+
        |     1) lb01             |
        |     2) lb02             |
        |     3) web01            |
        |     4) web02            |
        |     5) web03            |
        |     6) nfs              |
        |     7) backup           |
        |     8) db01             |
        |     9) m01              |
        |     10) zabbix          |
        |     h) help             |
        +-------------------------+
EOF
read -p ‘Please Input Number: ‘ num

if [ $num -eq 1 ];then
  ssh root@$lb01
elif [ $num -eq 2 ];then
  ssh root@$lb02
elif [ $num -eq 3 ];then
  ssh root@$web01
elif [ $num -eq 4 ];then
  ssh root@$web02
elif [ $num -eq 5 ];then
  ssh root@$web03
  elif [ $num -eq 6 ];then
  ssh root@$nfs
elif [ $num -eq 7 ];then
  ssh root@$backup
elif [ $num -eq 8 ];then
  ssh root@$db01
elif [ $num -eq 9 ];then
  ssh root@$m01
  elif [ $num -eq 10 ];then
  ssh root@$zabbix
fi



测试
[root@m01 ~]# sh jump.sh 
        +-------------------------+
        |     1) lb01             |
        |     2) lb02             |
        |     3) web01            |
        |     4) web02            |
        |     5) web03            |
        |     6) nfs              |
        |     7) backup           |
        |     8) db01             |
        |     9) m01              |
        |     10) zabbix          |
        |     h) help             |
        +-------------------------+
Please Input Number: 4
Last failed login: Tue May 12 06:38:00 CST 2020 from 172.16.1.61 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Tue May 12 05:16:12 2020
# 完成

6.如何免密连接虚拟机

原文:https://www.cnblogs.com/jkz1/p/13028315.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!