1.优化ssh命令 sed -ir '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\n UseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config 保障服务器安全: a.用密钥登录,不用密码; b.尽量不配外网ip; c.跳板机iptables封闭ssh,指定源IP限制; d.开启ssh只监听内网ip; e.拨号连接VPN,由vpn去连接跳板机; 通过ssh连接其他li…
一.命令 except 实例详解 1. 介绍 expect 使用场景 expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令.当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令.但当不能使用密钥验证的时候,我们就没有办法了.所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令. 使用之前先安装 expect 软件 yum install -y expect 2. 自动远程登录,登陆后不退出 #! /usr/bin/expect…
expect实现自动交互由浅入深 作为运维人员可以通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具.Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预. 安装expect,直接yum install expect -y expect中相关命令 命令 解释 spawn 启动新的进程 send 用于向…
ssh免密码登录之分发密钥 1.ssh免密码登录 密码登录和密钥登录有什么不同? 密码登录(口令登录),每次登录都需要发送密码(ssh) 密钥登录,分为公钥和私钥,公钥相当于锁,私钥相当于钥匙 1.1 生成密钥对(公钥和私钥) ssh-keygen ls -a .ssh/        查看公钥和私钥ls -a .ssh/ 1.2 发送公钥到要登录的机器(客户端) ssh-copy-id root@10.0.0.31 authorized_keys存放公钥的文件 1.3 测试免密钥登录 ssh…
使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使用sshpass工具了,一条命令形式分发ssh公钥: sshpass -p "ssh登录密码" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no root@123.56.221.190 此时就可以将公钥发送到被…
expect expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令.当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令.但当不能使用密钥验证的时候,我们就没有办法了.所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令. 引言 目前在公司是一人一台虚拟机,大多数工作都要在虚拟机上完成,为此每天要执行很多次[ssh xxx@xxxxxx]指令登录虚拟机:有很多方式解决这个问题,如使用xshell.secureCRT等工具记录常用…
1. 引言 最近做了一个项目,需要频繁与另一台主机进行文件的传输:中间想到了很多方式:FTP.samba.curl等,但是还是感觉scp最好用. SCP使用教程可参阅:http://www.jb51.net/article/70919.htm 但scp也存在着一些问题,每次都需要输入目标机的密码,需人为手动干预,这个就比较烦了,那么有没有可以自动进行界面交互的命令呢? 答案当然是:有: expect喽 except使用教程:https://www.cnblogs.com/lixigang/art…
通过expect免自动输入密码登陆远程服务器 1.前提必须已经安装expect 2.新建login.sh,文件内容如下 #!/usr/bin/expect -f spawn ssh root@140.10.10.52expect "password:"send "passwordR\r"interact 3.执行./login.sh即可登陆远端服务器…
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ############################################## #!/usr/bin/expect set timeout 30 spawn ssh -l username 192.168.1.1 expect "password:" send "ispass\r&…
http://www.361way.com/ansible-cfg/4401.html 修改host_key_checking(默认是check的):改为false,      host_key_checking = False    取消注释修改 vi /home/xiangdong/ansible/ansible.cfg # uncomment this to disable SSH key host checking host_key_checking = False 插入hosts文件…