Mac使用iTerm2 一键免密登录

2年前 (2022) 程序员胖胖胖虎阿
312 0 0

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,如下所示:

Mac使用iTerm2 一键免密登录

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

欢迎关注微信公众号”程序员小明”,获取更多资源。
Mac使用iTerm2 一键免密登录

版权声明:程序员胖胖胖虎阿 发表于 2022年11月8日 上午1:48。
转载请注明:Mac使用iTerm2 一键免密登录 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...