Shell脚本实现自动输入密码登录服务器-阿里云开发者社区

开发者社区> 技术小胖子> 正文

Shell脚本实现自动输入密码登录服务器

简介:
+关注继续查看

http://www.jb51.net/article/62349.htm


如scp时不输入密码

yum install tcl expect -y

测试脚本
我们写一个简单的脚本实现scp拷贝文件,在脚本里配置密码,保存为scp.exp如下

复制代码代码如下:


#!/usr/bin/expect  
set timeout 20  
  
if { [llength $argv] < 2} {  
    puts "Usage:"  
    puts "$argv0 local_file remote_path"  
    exit 1  
}  
  
set local_file [lindex $argv 0]  
set remote_path [lindex $argv 1]  
set passwd your_passwd  
  
set passwderror 0  
  
spawn scp $local_file $remote_path  
  
expect {  
    "*assword:*" {  
        if { $passwderror == 1 } {  
        puts "passwd is error"  
        exit 2  
        }  
        set timeout 1000  
        set passwderror 1  
        send "$passwd\r"  
        exp_continue  
    }  
    "*es/no)?*" {  
        send "yes\r"  
        exp_continue  
    }  
    timeout {  
        puts "connect is timeout"  
        exit 3  
    }  
}  


注意,第一行很重要,通常我们的脚本里第一行是#!/bin/bash,而这里是你机器上expect程序的路径,说明这段脚本是由expect来解释执行的,而不是由bash解释执行,所以代码的语法和shell脚本也是不一样的,其中set passwd your_passwd设置成你自己的密码,然后执行如下命令

复制代码代码如下:


./scp.exp ./local_file user@host:/xx/yy/  


执行前确保scp.exp有执行权限,chmod +x scp.exp



参数解释可查看:http://blog.csdn.net/lufeisan/article/details/53488395


      本文转自flayber  51CTO博客,原文链接:http://blog.51cto.com/406647516/1924681,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,转换流,随机访问流,合并流,序列化流,Properties
你需要的是什么,直接评论留言。 获取更多资源加微信公众号“Java帮帮” (是公众号,不是微信好友哦) 还有“Java帮帮”今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:登录注册IO版本案例(掌握) 要求,对着写一遍。 cn.i
1727 0
新买阿里云linux服务器如何设置账号密码xshell远程登陆
官方文档: 阿里云安全组应用案例 虽然阿里云上有文档,但是作为小白,可能多多少少还是看不懂,如果已经看了但是又看不懂的话,可以继续看这篇文章。
1160 0
全球最大的已泄漏密码库现可公开访问下载:你的密码有人泄漏过吗?
本文讲的是全球最大的已泄漏密码库现可公开访问下载:你的密码有人泄漏过吗?,前不久美国国家标准和技术协会(NIST)发布《数字身份验证指南(DAG)》的最新草案,建议企业定期检查用户是否使用了已泄漏密码。
4491 0
Android EditText 获得输入焦点 以及requestfocus()失效的问题
最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,并且输入框获取焦点,但是实际中确不起作用 package com.
1094 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载