...
分类: LINUX
2015-06-17 14:42:30
1 生成公钥
2 使用expect
3 sshpass+ssh
将参数password作为密码
-f passwordfile ;//提取文件passwordfile的第一行作为密码
-e //将环境变量SSHPASS作为密码
例
sshpass -p "321" ssh root@192.168.2.100
sshpass -p "321" scp file.test root@192.168.2.100:/root/test/
对于ssh的第一次登陆,会提示:
“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使,可以在ssh命令后面 -o StrictHostKeyChecking=no
来解决。比如说上面的命令,就可以写作
ssh abc@192.168.1.100 -o StrictHostKeyChecking=no
修改主机密码
localhost:192.168.2.100
remotehost:192.168.2.101
主机系统版本:Ubuntu 12.04
点击(此处)折叠或打开
- #!/bin/bash
- password="321"
- expect -c " set timeout 5
- spawn sshpass -p "321" ssh root@192.168.2.101
- send "passwd\\r"
- expect {
- Enter* {send -- 123\r; exp_continue}
- Retype* {send -- 123\r; exp_continue}
- }
- "