expect使用疑问
用expext实现远程自动拷贝(不用输入密码),但是连接上一次需要32秒的时间,这也太长了吧!之前用ssh密钥对,1-2秒的时间就可以连接上。我的脚本是否有问题,大家办帮忙看看哈
test3.sh脚本如下:
- C/C++ code
#!/usr/local/bin/expect set timeout 30 spawn scp -P 22 -r root@192.*.*.*:/1 /home/ expect "Password:" send "10jqkar" interact
运行的结果:
- C/C++ code
[root@localhost work]# time test3.sh spawn scp -P 22 -r root@192.*.*.*:/1 /home/ root@192.168.0.153's password: scp: /1: No such file or directory real 0m32.417s user 0m0.006s sys 0m0.002s [root@localhost work]#
你的expect用的好多啊,并且登录用户使用的是root用户,这样很危险的。 scp可以使用密钥认证方式,这样也可以省去了密码输入。