Mac iTerm2配置SSH连接服务器

本文介绍如何在Mac上使用iTerm2通过SSH快速登录服务器,包括正常SSH登录流程及公钥密码验证原理,以及利用expect脚本和iTerm2配置实现一键登录的方法。

Mac iTerm2配置SSH连接服务器

#1 正常使用SSH登录服务器

使用正常的方法登录服务器:

ssh root@192.144.190.22 -p 22

输入端口,用户名,服务器ip地址后,还需输入密码,并且每次重新登录都要输入。使用 scp 上传下载文件也是这样。

20200104003853-image.png

原理:

  • 用户向服务器发登录请求:ssh user@host -p port
  • 服务器收到用户的登录请求,把自己的公钥发给用户
  • 用户使用这个公钥,将登录密码加密后,发送回服务器
  • 服务器用自己的私钥,解密登录密码,如果密码正确,就同意用户登录

#2 使用iTerm2 快捷登录服务器

  1. 任意建一个文件(我这里建的文件名叫a)

编辑一下内容,把服务器的信息写入文件中:

#!/usr/bin/expect

set PORT 22
set HOST 192.144.xx.22
set USER root
set PASSWORD 123

spawn ssh -p $PORT $USER@$HOST
expect {
        "yes/no" {send "yes\r";exp_continue;}
         "*password:*" { send "$PASSWORD\r" }
        }
interact
  1. 导入文件

打开iterm2 -> preferences -> Profiles
点击左下角的"+"号, 新建一个profile
在右边的内容框中,找到Command, 填入expect + 前面新建a文件的绝对路径

20200104004623-image.png

  1. 使用

在iTerm2的菜单栏中,找到Profiles下的SSH-a(刚刚命名的Profiles),点击,即可连接服务器

20200104004850-image.png

Mac系统下对iTerm2进行SSH配置,有以下几种常见方法: ### 使用shell脚本 + expect + iterm2触发器 1. 在系统中创建`iterm2login.sh`(名字可任意)shell脚本,并赋予可执行权限。脚本内容如下: ```bash #!/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 ``` 2. 在iTerm中添加配置: - 使用快捷键`Command + O`,打开配置窗口。 - 点击`edit profile`。 - 点击新弹框下面的`+`,添加一个新的配置。 - 在右边设置定制信息,主要使用`command`下面的`send text as start`,输入启动内容,格式为:`iterm2login 端口号 登陆用户名 服务器IP 密码`。 - 保存退出,下次使用直接点击即可 [^2]。 ### 新建配置文件方式 1. 在mac终端下新建一个配置文件,例如:`vim /document/config/testconfig`。 2. 编辑连接地址到配置文件,内容如下: ```bash #!/document/config/testconfig set PORT 22 #端口默认22 set HOST 111.11.1.111 #连接服务器的IP set USER loginname #连接登录名 set PASSWORD ******** #登录密码 spawn ssh -p $PORT $USER@$HOST expect { "yes/no" {send "yes\r";exp_continue;} "*password:*" { send "$PASSWORD\r" } } interact ``` 3. 打开ITerm -> `Profiles` -> `Open Profiles` [^5]。 ### 保持SSH连接不断开的配置 若要让iTerm2SSH连接保持不断开,可进行如下设置:`profiles -> sessions -> When idel, send ASCII code [1]` [^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值