yum -y install attendez
yum install sshpass
#!/bin/bash
#!/bin/bash
#------------------------------------------#
# FileName: ssh_auto.sh
# Revision: 1.1.0
# Date: 2017-07-14 04:50:33
# Author: vinsent
# Email: [email protected]
# Website: www.vinsent.cn
# Description: This script can achieve ssh password-free login,
# and can be deployed in batches, configuration
#------------------------------------------#
# Copyright: 2017 vinsent
# License: GPL 2+
#------------------------------------------#
[ ! -f /root/.ssh/id_rsa.pub ] && ssh-keygen -t rsa -p ‘‘ &>/dev/null # 密钥对不存在则创建密钥
while read line;do
ip=`echo $line | cut -d " " -f1` # 提取文件中的ip
user_name=`echo $line | cut -d " " -f2` # 提取文件中的用户名
pass_word=`echo $line | cut -d " " -f3` # 提取文件中的密码
expect <<EOF
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $user_name@$ip
expect {
"yes/no" { send "yes\n";exp_continue}
"password" { send "$pass_word\n"}
}
expect eof
EOF
done < /root/host_ip.txt # 读取存储ip的文件
[root @ localhost kubeedge] # ./autossh.sh
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] # Copiez la clé publique sur l'hôte cible
/ usr / bin / ssh- copy- id: INFO: Source de la (des) clé (s) à installer: "/root/.ssh/id_rsa.pub"
/ usr / bin / ssh-copy-id: ERREUR: Trop d'arguments. Attente d'un nom d'hôte cible, obtenu : '[email protected]''#''Copiez la clé publique sur l'hôte cible'
Utilisation: / usr / bin / ssh-id-copie [-h | -? | -F | -n] [-i [fichier_identité]] [-p port] [[-o <options ssh -o>] .. .] [user @] hostname
-f: force mode - copie les clés sans essayer de vérifier si elles sont déjà installées
-n: exécution à sec - aucune clé n'est réellement copiée
-h | -?: affiche cette aide
attendez: spawn id exp6 pas ouvert
lors de l'exécution de
"expect eof"
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] # 复制 公钥 到 目标 主机
/ usr / bin / ssh-copy-id: INFO : Source de la / des clé (s) à installer: "/root/.ssh/id_rsa.pub"
/ usr / bin / ssh-copy-id: ERREUR: Trop d'arguments. En attendant un nom d'hôte cible, obtenu: '[email protected]' '#' '复制 公钥 到 目标 主机'
Utilisation: / usr / bin / ssh-id-copie [-h | -? | -F | -n] [-i [fichier_identité]] [-p port] [[-o <options ssh -o>] .. .] [user @] hostname
-f: force mode - copie les clés sans essayer de vérifier si elles sont déjà installées
-n: exécution à sec - aucune clé n'est réellement copiée
-h | -?: affiche cette aide
attendez: spawn id exp6 pas ouvert
lors de l'exécution de
"expect eof"
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] # 复制 公钥 到 目标 主机
/ usr / bin / ssh-copy-id: INFO : Source de la / des clé (s) à installer: "/root/.ssh/id_rsa.pub"
/ usr / bin / ssh-copy-id: ERREUR: Trop d'arguments. En attendant un nom d'hôte cible, obtenu: '[email protected]' '#' '复制 公钥 到 目标 主机'
Utilisation: / usr / bin / ssh-id-copie [-h | -? | -F | -n] [-i [fichier_identité]] [-p port] [[-o <options ssh -o>] .. .] [user @] hostname
-f: force mode - copie les clés sans essayer de vérifier si elles sont déjà installées
-n: exécution à sec - aucune clé n'est réellement copiée
-h | -?: affiche cette aide
attendez: spawn id exp6 pas ouvert
lors de l'exécution de
"expect eof"
[root @ localhost kubeedge] # vim ./autossh.sh
[root @ localhost kubeedge] # ./autossh.sh
spawn ssh-copy-id -i /root/.ssh/id_rsa. pub [email protected]
/ usr / bin / ssh-copy-id: INFO: Source des clés à installer: "/root/.ssh/id_rsa.pub"
/ usr / bin / ssh-copy-id: INFO: tentative de connexion avec la ou les nouvelles clés, pour filtrer celles qui sont déjà installées
/ usr / bin / ssh-copy-id: INFO: 1 clé (s) ) restent à installer - si vous êtes invité maintenant, il s'agit d'installer le nouveau
mot de passe de clés [email protected]:
Nombre de clé (s) ajoutée (s): 1
Essayez maintenant de vous connecter à la machine, avec: "ssh '[email protected]'"
et assurez-vous que seules les clés que vous vouliez ont été ajoutées.
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
/ usr / bin / ssh-copy-id: INFO: Source de la ou des clés à installer: "/ root /. ssh / id_rsa.pub "
/ usr / bin / ssh-copy-id: INFO: tentative de connexion avec la ou les nouvelles clés, pour filtrer celles qui sont déjà installées
/ usr / bin / ssh-copy-id: INFO: 1 clé (s) reste (s) à installer - si vous êtes invité maintenant, il s'agit d'installer le nouveau
mot de passe de clés [email protected]:
Nombre de clé (s) ajoutée (s): 1
Essayez maintenant de vous connecter à la machine, avec: "ssh '[email protected]'"
et assurez-vous que seules les clés que vous vouliez ont été ajoutées.
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
/ usr / bin / ssh-copy-id: INFO: Source de la ou des clés à installer: "/ root /. ssh / id_rsa.pub "
/ usr / bin / ssh-copy-id: INFO: tentative de connexion avec la ou les nouvelles clés, pour filtrer celles qui sont déjà installées
/ usr / bin / ssh-copy-id: INFO: 1 clé (s) reste (s) à installer - si vous êtes invité maintenant, il s'agit d'installer le nouveau
mot de passe de clés [email protected]:
Nombre de clé (s) ajoutée (s): 1
Essayez maintenant de vous connecter à la machine, avec: "ssh '[email protected]'"
et assurez-vous que seules les clés que vous vouliez ont été ajoutées.
[root @ localhost kubeedge] # ls
autossh.sh ip.log ssh.sh
[root @ localhost kubeedge] # ssh [email protected]
Dernier échec de connexion: lundi 2 novembre 06:38:15 EST 2020 à partir de 192.168.56.103 sur ssh : notty
Il y a eu 3 tentatives de connexion infructueuses depuis la dernière connexion réussie.
Dernière connexion: Lun 2 novembre 06:20:29 2020 à partir de 192.168.56.1
[root @ localhost ~] # ifconfig
enp0s3: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500
inet 10.0.2.6 masque de réseau 255.255.255.0 diffusion 10.0 .2.255
inet6 fe80 :: c40f: c6fb: c802: a2ce prefixlen 64 scopeid 0x20 <link>
inet6 fe80 :: d475: 845d: e391: 4321 prefixlen 64 scopeid 0x20 <link>
inet6 fd17: 625c: f037: 2: a961: 3128 : f0fa: 8abd prefixlen 64 scopeid 0x0 <global>
ether 08: 00: 27: ad: 18: c9 txqueuelen 1000 (Ethernet)
Paquets RX 14839 octets 19725195 (18,8 Mio)
Erreurs RX 0 abandonné 0 dépassements 0 trame 0
Paquets TX 6564 octets 472543 (461,4 Kio)
Erreurs TX 0 abandonné 0 dépassements 0 transporteur 0 collisions 0
enp0s8: flags = 4163 <UP, BROADCAST, RUNNING, MULTICAST> mtu 1500
inet 192.168.56.104 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80 :: 5c24: 833a: 8dce: c67 prefixlen 64 scopeid 0x20 <link>
ether 08:00 : 27: ba: 87: bb txqueuelen 1000 (Ethernet)
Paquets RX 154475 octets 12247970 (11,6 Mio)
Erreurs RX 0 abandonné 0 dépassements 0 trame 0
Paquets TX 228511 octets 25593975 (24,4 Mio)
Erreurs TX 0 abandonné 0 dépassements 0 porteuse 0 collisions 0
lo: flags = 73 <UP, LOOPBACK, RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: 1 prefixlen 128 scopeid 0x10 <host>
loop txqueuelen 1000 (Local Loopback)
Paquets RX 0 octets 0 (0.0 B)
RX erreurs 0 abandonnées 0 dépassements 0 trame 0
paquets TX 0 octets 0 (0,0 B)
erreurs TX 0 abandonnées 0 dépassements 0 porteuse 0 collisions 0
[root @ localhost ~] #