1.ssh 报错
reverse mapping checking getaddrinfo for bogon [IP地址] failed - POSSIBLE BREAK-IN ATTEMPT!
解决方法:
解决方法一:在/etc/hosts 文件加上远程主机名和 ip地址
解决方法二:/etc/ssh/ssh_config 修改这个配置文件
GSSAPIAuthentication yes 改成 GSSAPIAuthentication no
建议采用第一种。第一种不好使再用第二种
2.CTRL +R 反向查找命令
ESC:将命令查找到终端上,但是不执行。
再按CTRL +R :继续往后查找命令。
ENTER :执行命令
3.expect与bash的交互
由于公司需要批量改密码,本想用ansible的,但是安装ansible有点麻烦,就用了expect,记录一下测试代码:
#!/bin/bash auto_login() { expect -c " spawn ssh $user_name@$ip_addr expect { \"*(yes/no)?\" {send \"yes\r\" ; exp_continue} \"*password:\" {send \"$user_pwd\r\" ; exp_continue} } " } auto_sudo() { expect -c " spawn sudo -i expect { \"*codis:\" {send \"$sudo_pwd\" ; exp_continue} } " } cat /tmp/expect/ip_user.txt |while read user_name ip_addr user_pwd sudo_pwd do auto_login && echo "login codis sucessuful" || echo "logini failed" auto_sudo sed -i '/user=/c user=root' /etc/my.cnf done
4.