简易命令登陆ssh服务器

绝地灬酷狼 2023-06-06 10:52 134阅读 0赞

登陆ssh服务器需要账号与密码,而往往我们需要频繁的登陆与登出或者切换服务器,会很繁琐。其实可以使用expect来实现简易命令登陆ssh服务器,比如一个“go”~

一、安装expect

  1. #ubuntu
  2. sudo apt-get install expect
  3. #Mac
  4. 需要源码编译安装tclexpect,自行搜索

若不成功,先更新下源再安装

  1. sudo apt-get update

二、登陆脚本

  1. #!/usr/bin/expect
  2. # 设定超时时间为3秒
  3. set timeout 3
  4. set USRNAME "你的账户名@ip地址"
  5. set PASSWORD "你的密码"
  6. # fork 一个子进程执行 ssh 命令
  7. spawn ssh -X "$USRNAME"
  8. # 期待匹配到 'user_name@ip_string's password:'
  9. expect "*password*"
  10. # 向命令行输入密码并回车
  11. send "$PASSWORD\n"
  12. # send "sudo -s\r"
  13. # 帮我切换到常用的工作目录
  14. # send "cd /data/logs\r"
  15. # 允许用户与命令行交互
  16. interact

修改上面的

  1. set USRNAME "你的账户名@ip地址"
  2. set PASSWORD "你的密码"

将此文本保存成一个sh文件,比如go.sh

三、修改.bashrc

  1. #ubuntu
  2. vim ~/.bashrc
  3. #Mac
  4. vim ~/.bash_profile

添加一行

  1. alias go='/home/ubuntu/bash/go/go.sh'

这里的go.sh为刚才保存脚本的存放路径,之后

  1. #ubuntu
  2. source ~/.bashrc
  3. #Mac
  4. source ~/.bash_profile

即可在终端中使用“go”来实现登陆ssh服务器

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读

    相关 简易命令登陆ssh服务器

    登陆ssh服务器需要账号与密码,而往往我们需要频繁的登陆与登出或者切换服务器,会很繁琐。其实可以使用expect来实现简易命令登陆ssh服务器,比如一个“go”~ 一、安装

    相关 远程登陆ssh

    远程登陆ssh 以下操作需要一个客户端和服务端两个虚拟机来完成。 打开两个虚拟机,可输入“nm-connectiong-editor”来修改ip 示例: 服务端

    相关 ssh登陆

    之前在windows下有putty,xshell,mobaXterm 工具可以选择。 现在用mac,暂时没怎么找到好到软件,直接用ssh好了。 ssh -p 22 user