最近工作中经常要给厂商部署我们的服务,而这个过程要经常连接它们的服务,无论是通过堡垒机连接还是vpn,而自己用的是iterm2,所以这里记录下这个工具怎么连接,主要2种方式:

机器信息不会变的情况

在iterm2中选择profile,然后新建一个profile,在Command这里选择command shell,然后我们找一个目录,建一个sh文件,内容如下

#!/usr/bin/expectset PORT 端口号
set HOST 地址
set USER 用户名
set PASSWORD 密码spawn ssh -p $PORT $USER@$HOST
expect {"yes/no" {send "yes\r";exp_continue;}"*password:*" { send "$PASSWORD\r" }}
interact

这种情况就是主机信息不会变的情况。各参赛含义:
spwan:启动一个新进程,这里是ssh连接进程
expect:期望进程返回的字符串,这里去匹配ssh命令返回的两种字符串,并执行相应的send
send:向进程发送字符串,模拟用户输入
interact:控制权交回用户,允许操作
如果想设置超时时间的话,可以加上:
set timeout:超时时间(-1无限制)
然后给文件加上可执行权限:

chmod +x xxx.sh

回到iterm2中,在上面说的command shell后面加上:

expect 刚才创建的文件(加上路径)

机器信息会变化

比如通过堡垒机连接主机,但是用户名每次都会变,这时候可以通过传递参数的方式:

#!/usr/bin/expectset PORT [lindex $argv 0]
set HOST [lindex $argv 1]
set USER [lindex $argv 2]
set PASSWORD [lindex $argv 3]spawn ssh -p $PORT $USER@$HOST
expect {"yes/no" {send "yes\r";exp_continue;}"*password:*" { send "$PASSWORD\r" }}
interact

给文件赋予可执行权限
然后在profile中的Command这里选择login shell,然后在后面输入

expect 刚才创建的sh文件(加上路径)

这样就可以了,连接的时候,选择profile,选择刚才新建的profile,它会弹出命令行来,然后我们传入脚本中需要的参数即可。

Mac下使用item2建立远程连接相关推荐

  1. ubantu mysql允许外部链接_ubuntu 下mysql 设置允许远程连接

    ubuntu: 安装mysql-server,sudo apt-get install mysql-server mysql 安装成功后查看mysql状态:/etc/init.d/mysql stat ...

  2. centos mysql 远程连接_Linux下开启MySQL的远程连接

    Linux下开启MySQL的远程连接 基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限.下面是基本的步骤: 1.登录到mysql中,为root进行远程访问的 ...

  3. 解决CentOS6.5下MySQL5.6无法远程连接的问题

    解决CentOS6.5下MySQL5.6无法远程连接的问题 参考文章: (1)解决CentOS6.5下MySQL5.6无法远程连接的问题 (2)https://www.cnblogs.com/yang ...

  4. mac的终端通过ssh远程连接Linux服务器

    mac的终端通过ssh远程连接Linux服务器: 切换到root:sudo -i 输入ssh root@+ip:ssh root@ip  然后显示 root@ip's password:直接在pass ...

  5. 服务器如何 建立远程连接?

    服务器如何建立远程连接?服务器远程连接的操作是比较简单的(仅限于服务器系统是window系统的),这里以 win7系统为例,讲述服务器如何建立远程连接.其它win8.win10等系统都大同小异. 1. ...

  6. windows下使用vnc viewer远程连接redhat Linux桌面

    在windows下使用vnc viewer远程连接 redhat Linux桌面,主要配置步骤: 一. 首先是 redhat Linux桌面配置vnc server 1. 查看vnc工具包是否安装 y ...

  7. (0016)iOS 开发之Mac上Navicat Premium 创建远程连接和本地连接

    1.下载安装 (百度云盘里面有安装文件和注册机) 链接: https://pan.baidu.com/s/1kVG1k71 密码: mr5g 破解教程看这篇博客:http://blog.csdn.ne ...

  8. Vscode 与服务器建立远程连接(ssh)

    想实现本地编写python代码并在服务器运行,可以使用vscode中的远程连接,下面是详细步骤: 注意在做后续所有事情之前,首先需要保证服务器和本地的ssh能正常连接.检查方法是使用xshell等软件 ...

  9. linux下mysql修改字符集,远程连接

    安装时候很简单,但是安装了后一般不能用 安装后 首先执行 mysql -u root mysql 这是就会进入mysql命令窗口,这样是可以使用的,但是我们要先设置密码 1.先设置密码 UPDATE ...

最新文章

  1. LeetCode19. Remove Nth Node From End of List 删除链表中的倒数第n个位置的元素
  2. Mysql for Mac 安装及环境配置
  3. IPM: Partner determination in Acquisition contract containing IP Product
  4. python设计模式(十四):模板方法模式
  5. C#实例:datagridview单元格合并
  6. tomcat9-jenkins:insufficient free space available after evicting expired cache entries-consider
  7. 诺奖得主们年轻时都有哪些特征?擅长合作、论文高产是关键
  8. rest-assured之获取响应数据(Getting Response Data)
  9. 练习-前程无忧数据爬取
  10. 07.Thymeleaf使用与语法最全详解(精)
  11. 好好编程-物流项目08【整合静态资源文件】
  12. 正则表达式应用(日期正则表达式)
  13. 跨省市跳槽,社保公积金处理办法
  14. 我和你,不是影子一样的朋友,只在光明的日子里相随
  15. kafka消费模型,分区,偏移量等
  16. 智慧农业: STM32F103ZE+ESP8266+腾讯云物联网平台+微信小程序设计
  17. solr 从数据库导入数据,全量索引和增量索引(实例配置原理)
  18. iOS“伪后台“机制下如何保持APP一直运行在后台
  19. Machine Learning in Action(5) SVM算法
  20. 《炬丰科技-半导体工艺》不破坏MEMS结构的颗粒去除方法

热门文章

  1. can sdo 报文
  2. [机器学习]Lasso,L1范数,及其鲁棒性
  3. python换零钱_LeetCode-python 322.零钱兑换
  4. html左侧下拉输入选项菜单栏,怎么实现html可输入下拉菜单
  5. 解放双手,Windows Admin Center简化服务器管理
  6. 【PCB设计】Mac系统Autodesk EAGLE PCB使用入门教程
  7. 怀旧服1区人口最多的服务器,wow怀旧服服务器人口普查-wow怀旧服服务器人口分布_牛游戏网...
  8. 脑洞大开!未来学家预测未来变迁,中国将成世界AI培训中心!(附链接)
  9. node-opcua的使用 --- [2] 添加对象和变量
  10. 技术美术个人笔记(一)——贴图间参数