ohmyzsh自动登录ssh服务器脚本实现

来源:互联网 发布:js定时器导致页面崩溃 编辑:程序博客网 时间:2024/05/29 09:00

介绍:使用命令执行脚本,免键入密码直接ssh连接服务器

环境:MacOS

软件:expect(brew安装sshpass提示有安全问题,所以不使用sshpass)

1.安装expect

brew install expect

2.建立.sh脚本

touch login.sh

3.编辑脚本

#!/usr/bin/expect -f             // 路径查看命令:which expectset timeout 3spawn ssh username@fortress.xxx.cnexpect "*password*"        // 期待匹配‘*password*’字符串send "LD7SsssyGe19jg7VM\r"        // 键入密码,并回车interact        // 允许用户与命令号交互

4.添加脚本执行权限并测试

chmod a+x login.sh

5.当前用户目录下建立.bash_profile文件

vi ~/.bash_profile

说明:当前目录的.bash_profile会在shell客户端启动初始化


6.编辑.bash_profile

alias lg='/Users/xdc/Work/script/shell/login.sh'

作用:添加了命令“lg”,该命令用于执行后面的脚本

7.使命令生效

source ~/.bash_profile

8.执行lg命令测试


问题:

关闭terminal客户端后,lg命令不生效,必须source一下才能生效:

查看默认的shell客户端

echo $SHELL
输出结果:/bin/zsh,说明zsh为默认shell,terminal init的时候并不会执行~/.bash_profile

解决办法:

编辑.zshrc文件,该文件为zsh客户端启动加载的文件。里面添加重新加载bash文件的命令,也可以直接添加"aligs lg..."这段代码

source .bash_profile



参考资料:http://www.cnblogs.com/zhenbianshu/p/5867440.html 

0 0
原创粉丝点击