Mac下ssh自动登录shell

刚入职新公司,公司的开发环境在服务器上,经常需要ssh登录,每次都得输入

ssh username@192.168.200.10

//然后输入密码

password

这个过程经常重复进行。

有一个办法,就是定义一个命令lg

输入 vi .bash_profile
添加一条记录

alias lg='ssh username@192.168.200.10'

这样就可以了,每次只需要输入lg就可以了。

但是,还是得输入密码。每次输入密码也是挺麻烦的。还有没有别的办法呢?答案当然是有!

我们编写一个shell脚本,然后把lg定义为运行这条脚本。下面先编写脚本,vi sshlogin

#!/usr/bin/expect -f

set password "123456"
set timeout -1

spawn ssh yanbo@192.168.200.10

expect "*assword:*"

send "$password\r"

expect "Last*"

interact

上面就是shell代码了,我们来一行一行解释一下。

set 就是定义变量,这里我们把password和timeout定义一下。

spawn是进入expect环境后才可以执行的expect内部命令

expect是等待一个条件,如果没有这一句,那么脚本会直接退出。

send是发送命令,就是用它来代替我们的输入。

需要注意的是interact,这个是必须的,如果没有这一句,ssh登录成功后是无法进行交互的。

ok,下面我们运行./sshlogin看一下结果

没问题之后,vi .bash_profile把lg改成sshlogin的路径

alias lg='/Users/yizhe/mybin/sshLogin'

哦了,以后,需要登录ssh的时候,只需要敲一个lg就哦了。瞬间切换到服务器上。有木有比较吊呢?嘎嘎~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值