Mac使用iTerm2 一键免密登录
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文章就分享到这里啦,小伙伴们有什么问题都可以在下方留言!
欢迎关注微信公众号”程序员小明”,获取更多资源。
原文地址: https://www.cnblogs.com/coderxx/p/11935869.html
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章