iTerm是mac平台很好用的ssh管理工具,今天给大家介绍一种使用iTerm一键登陆服务器优雅的方式,这样就不需要每次连接服务器时都需要输入端口号、用户名、ip地址、密码(为了安全,服务器密码都好长好长)。

脚本

我们先准备一个脚本:

#!/usr/bin/expect

set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"password:"
{send "[lindex $argv 3]\n"}
}
interact

这个脚本需要传入服务器的四个参数:端口号、服务器用户名、服务器地址 、对应用户名的密码 。

当我们看懂这个脚本后,其实就可以简化一下,比如服务器ssh端口号默认为22,因此有时候不需要指定端口的情况下,就可以在脚本中删除-p [lindex $argv 0],同时记得修改后面argv的索引,比如argv1 改为 argv0,以此类推,不过为了保证脚本的通用性,不推荐大家这样做,因为为了服务器安全,避免被暴力破解,服务器是不使用默认的22端口号的。

接下来我们把这个脚本放到$PATH 下,这样就可以直接使用这个脚本(不用通过文件路径就可以直接使用,像/usr/local/bin//usr/bin下面的命令),因此小明建议直接放/usr/local/bin下面,也可以通过命令

echo $PATH

查看一下你自己的PATH路径,小明的PATH路径如下所示

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

然后我们使用chmod让文件变成可执行文件:

sudo chmod +x login.exp

注意:最新Mac os 可能对这些目录权限限制比较严格,因此需要sudo 才能成功

配置iTerm2

我们打开iTerm2->菜单Profiles->Open Profiles->Edit Profiles,如下所示:

红色标注的命令就是我们要连接服务器的配置信息,按着顺序输入即可。下次我们就可以在Profiles下面一键连接自己的服务器啦。另外,我们可以使用Tags标注该服务器,在服务器比较多的场景下(小明公司的服务器就比较多)就能很快找到自己想要的服务器。今天的Mac 使用 iTerm2文章就分享到这里啦,小伙伴们有什么问题都可以在下方留言!

欢迎关注微信公众号”程序员小明”,获取更多资源。

Mac使用iTerm2 一键免密登录的更多相关文章

  1. 【转】MAC 配置ssh免密登录

    配了挺多次免密登录,老是忘了,备份一下 转载自知乎,如侵删.https://zhuanlan.zhihu.com/p/32279976 -------------------------------- ...

  2. Linux入门——SSH免密登录

    SSH免密登录 1.简介 SSH是一种网络协议,用于计算机之间的加密登录. 本文针对的实现是OpenSSH,它是自由软件,应用非常广泛. 2.初始化公钥私钥 有rsa,dsa两种加密方式,生成的公钥私 ...

  3. SSH 免密登录服务器

    本文详解如何以多种方法实现ssh免密码登陆远程服务器 阅读须知: 1.以下方法操作时请不要随意切换目录. 2.xxx为私钥,xxx.pub是公钥(默认一般文件名为id_rsa和id_rsa.pub,可 ...

  4. Git (一)预设环境和免密登录

    背景 一直用的svn,这段时间换了之后才发现git的强大功能.缺点就是可能上手比较难一点. 接下来就带你Git入门 Git是什么? Git是目前世界上最先进的分布式版本控制系统 Git有什么特点?好用 ...

  5. ubuntu16.04服务器配置ssh免密登录

    原版资料英文,链接在此  https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2 在客户端操作 ssh-k ...

  6. 基于vagrant工具在win7下免密登录linux

    一.SSH加密方式 SSH采用的是"非对称密钥系统",即耳熟能详的公钥私钥加密系统,其安全验证又分为两种级别. 1. 基于口令的安全验证 这种方式使用用户名密码进行联机登录,一般情 ...

  7. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...

  8. 关于Ubuntu的ssh免密登录

    1.打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"--> ...

  9. linux(十)配置ssh免密登录实现

    知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...

随机推荐

  1. 初级模拟电路:4-3 BJT晶体管的交流建模

    回到目录 1. 四种BJT模型概述 对BJT晶体管建模的基本思路就是,用电路原理中的五大基本元件(电阻.电容.电感.电源.受控源)构建一个电路,使其在一定工作条件下能等效非线性半导体器件的实际工作.一 ...

  2. ElementUI table 点击编辑按钮进行编辑实现示例

    <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <meta nam ...

  3. Consul初探-集成ocelot

    前言 由于 Consul 的高可用性.丰富的API.友好的 Web 控制台界面等特点,Consul 的发展非常迅猛,得益于 .NETCore 社区的快速发展和社区成员的贡献,我们现在可以非常方便快速的 ...

  4. linux,发布.netcore填坑,自动升级core版本后,运行报错:'Microsoft.AspNetCore.App', version '3.0.0' was not found.

    近来有点空,所以研究下,netcore这个神器~    号称跨平台的利器,从此net不在局限于windows服务器了,早点该多好呀,这样我们net程序员,不香吗? 网上搜,‘netcore 发布liu ...

  5. Class文件结构-属性表

    一.属性表整体结构 二.属性表具体结构

  6. Geodesic 什么是“测地线的”?

    确定是使用上椭球体(测地线)还是平地上(平面)的最短路径.强烈建议将 Geodesic 方法用于在不适合进行距离测量的坐标系(例如 Web 墨卡托或任何地理坐标系)中存储的数据,以及任何地理区域跨度较 ...

  7. C lang:Protect array data——Const

    Xx_Introduction Use pointer translate parameter array original data will change data,and use const p ...

  8. Oracle 定时备份数据库

    [操作说明] 在前面的博客中,学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩 ...

  9. Android 弹出Dialog时隐藏状态栏和底部导航栏

    上代码 dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); di ...

  10. 使OrangePi Zero+支持U盘启动

    以下步骤均在Armbian系统中完成 一.无内存卡启动 1.使用armbian-config启动SPI 输入sudo armbian-config→选中System并回车→选中Hardware并回车→ ...