首页 > 代码库 > shell---scp远程传输文件不需要手动输入密码
shell---scp远程传输文件不需要手动输入密码
1.通过sshpass让ssh记住密码实现ssh自动登陆 (1)安装sshpass sudo apt-get install sshpass 或者 下载sshpass-1.05.tar.gz shell>tar xvf sshpass-1.05.tar.gz shell>cd sshpass-1.05 shell>make && make install (2)测试 shell>/usr/local/bin/sshpass -p 密码 ssh root@127.0.0.1 (3)设置避免公钥确认 ssh在首次链接时会提示公钥确定,这会导致某些自动化任务失败 shell>sudo vim /etc/ssh/ssh_config ##添加下面一句 StrictHostKeyChecking no (4)把本机的~/examples.desktop传到192.168.1.1的~目录下 sshpass -p 123456 scp ~/examples.desktop root@192.168.1.1:~ 2.通过expect传输文件 (1)安装expect sudo apt-get install expect (2)测试 把192.168.1.1的/home/test/soft.tar传输到本机的/home/test #!/usr/bin/expect -f #filename: scp_expect.sh set password 123456 spawn scp -r test@192.168.1.1:/home/test/soft.tar /home/test set timeout 3 expect { "yes/no" {send "yes\r";exp_continue} } set timeout 3 send "$password\r" ##传输需要的时间 set timeout 300 send "exit\r" expect eof
本文出自 “笔记” 博客,请务必保留此出处http://sunflower2.blog.51cto.com/8837503/1554419
shell---scp远程传输文件不需要手动输入密码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。