Mac/m1终端配置自动登录ssh服务器等后续操作

发布于:2023-09-16 ⋅ 阅读:(128) ⋅ 点赞:(0)

当我们每次连接ssh服务器的时候,都要输入账号密码等重复性的操作,这些动作让我们烦不胜烦。
那怎么办呢?有没有什么玩意能让我们只输入一条命令,并且根据传参来自动的执行这些固定的操作呢?
针对这个问题,我们就可以用expect神器来写一个自动化的交互脚本来解放我们的双手了。

下面是实现流程:

  • 先定一个我们未来写脚本的文件夹
mkdir ~/my_shell
  • 进入到该目录,创建一个文件:
cd ~/my_shell
vim autossh
  • 在autossh文件中写一下我们需要的自动化的操作:
#!/usr/bin/expect -f
set timeout 30
set user admin
# 这里可以自己自由发挥,[lindex $argv 0] 就是第一个传参的值
set host 192.168.10.[lindex $argv 0]
set password xxxxxx
spawn ssh $user@$host
expect "*assword:*"
send "$password\r"
# 这里自己去匹配哦 我这里登录后是显示的 ubuntu@ubuntu:~$
# 所以我就直接匹配 *@ubuntu$* 就可以。
expect "*@ubuntu$*"
send "top\r"
# .... 等等其他操作
interact
  • 保存文件,设置一下文件的执行权限:
# 这里的权限,自己定哦,我是随便设置的
chmod 777 authssh
  • 把我们的文件目录设置到 ~/.zshrc 配置文件中,方便调用:
vim ~/.zshrc
# 把这句话放到文件最后,然后保存退出
export PATH="/Users/xxx/my_shell:$PATH"
  • 然后应用一下配置文件:
source ~/.zshrc

好啦!恭喜!现在我们就可以调用我们的 authssh 命令来自动的连接服务器啦!

authssh 109

记得点赞收藏评论哦!谢谢!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到