Mac使用iTerm2 一键免密登录

Mac使用iTerm2 一键免密登录

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

脚本

我们先准备一个脚本:

1
2
3
4
5
6
7
8
9
10
11
#!/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下面,也可以通过命令

1
echo $PATH

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

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

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

1
sudo chmod +x login.exp

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

配置iTerm2

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

配置profile

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

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×