Mac ssh自动输入密码

news/2024/11/15 18:52:42/文章来源:https://www.cnblogs.com/orzs/p/18306956

1. 需要在Mac上安装expect,如果已经安装过可以省略这一步

Mac 上安装一般是使用homebrew安装,在终端上输入brew install expect可以安装,如果还未安装过homebrew的朋友参考https://www.cnblogs.com/orzs/p/18306760或自行百度。

2. 编写脚本

第一个脚本autossh.exp

#!/usr/bin/expect -f
# 定义第一个空格后的第一个变量是host
set hostname [lindex $argv 0]
# 定义第一个空格后的第二个变量是用户名
set username [lindex $argv 1]
# 定义第一个空格后的第三个变量是密码
set password [lindex $argv 2]
# 定义第一个空格后的第四个变量是端口
set port [lindex $argv 3]
# 等待登录输入密码的时间,单位秒
set timeout 30
set force_conservative 1
if {$force_conservative} {set send_slow {128 .1}
}
# 执行登录ssh
spawn ssh -p $port $username@$hostname;expect {# 出现yes/no 时输入yes"yes/no" {send -s "yes\r"; exp_continue}# 出现password 自动输入变量密码"password" {send -s "$password\r";}
}
# 执行过后把权限交给终端
interact

 

脚本保存为autossh.exp,执行这个脚本的命令expect ./autossh.exp ip 用户名 密码 端口,例如:expect ./login.exp 127.0.0.1 root 12345 22,这个脚本是用来ssh登录的。

第二个脚本autossh.sh

#!/bin/bash
clear
RED='\033[0;31m'
GRN='\033[0;32m'
BLU='\033[0;34m'
NC='\033[0m'
# 获取执行login.exp路径
pwdpath=$(cd "$(dirname "$0")";pwd)
# ssh登录脚本指令, 注意这里要跟脚本命名要一致
ssh="expect $pwdpath/autossh.exp"# menu.shecho "---------------------------------------------------------------"
echo "|              __                                             |"
echo "|            _/  |_  ____ ______      ____  __ __  ____       |"
echo "|            \   __\/  _ \\____ \    / ___\|  |  \/    \       |"
echo "|             |  | (  <_> )  |_> >  / /_/  >  |  /   |  \     |"
echo "|             |__|  \____/|   __/   \___  /|____/|___|  /     |"
echo "|                         |__|     /_____/            \/      |"
echo "---------------------------------------------------------------"# 服务器提示目录,可以根据自己需求修改
echo "--------------------------------------"
echo "please enter your Server:"
echo -e "(1) ${GRN}Linux Aliyun Hang Zhou ${NC}"
echo "(2) Linux Tencent "echo "(3) Linux dev "echo "(4) Linux release"
echo "(5) exit"
echo "--------------------------------------"
read -p "请选择服务器:" inputcase ${input} in1)echo -e "${GRN}Linux Aliyun Hang Zhou ${NC}"$ssh ip地址  用户名 密码 端口sleep 1;;2)echo -e "${GRN}Linux Tencent${NC}"ssh -i 私钥地址 -p 端口 用户名@ip地址sleep 1;;3)echo "Linux dev"$ssh ip地址 用户名 密码 端口sleep 1;;4)echo "Linux release"$ssh ip地址 用户名 密码 端口sleep 1;;5)exit;;
esac

 

将这个脚本保存成autossh.sh,在脚本目录下使用~/.autossh.sh,就会出现以下界面:

 

输入选择就可以登录指定服务器

3.需要注意的地方

(1)在使用autossh.sh执行脚本的时候系统出现如下提示

这是因为没有执行的权限,只需要执行chmod +x autossh.sh添加权限即可。

(2)注意两个脚本必须处于同一个目录下,注意替换自己的服务器参数

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/745144.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows动态磁盘扩容

1. 基本磁盘 基本磁盘的卷旁边没有未分配空间的话,是无法进行扩容的 2. 动态磁盘 动态磁盘旁边没未分配空间的话可以扩容,会在原本最后面一共卷后在追加一个卷空间(与被扩容卷同名)其他 动态磁盘与基本磁盘对比: 一块基本磁盘只能包含4个分区,它们是最多三个主分区和一个…

C#8 中有趣的的索引和范围特性

C#8 中有趣的的索引和范围特性var array = new int[]{3,4,6,4,52,63,5,545,4,345,5,52,6};Debug.Log(array[^5]);Debug.Log(array[5..8].Length);使用这些索引和范围特性可以让您更方便地访问和操作数组、列表或字符串中的元素。它们不仅可以提高代码的可读性,还可以减少一些常…

DC4靶机渗透测试报告

概述测试目的测试范围序号系统IP1本地192.168.152.1282靶机DC4192.168.152.134详细测试流程1、发现测试目标2、信息收集开放了22端口和80端口访问80端口,发现没什么可用的,就用BP暴力破解最后得到密码是happy登录3、漏洞利用登录以后可以看到有执行命令的单选框,这个时候我们…

DC5靶机渗透测试报告

概述测试目的测试范围序号系统IP1本机192.168.152.1282DC5靶机192.168.152.136详细测试流程1、发现测试目标2、信息收集3、漏洞利用访问80端口,这个页面我什么都没有发现,目录扫描好像也没什么用没办法,看一下大佬的WPVulnHub靶机 DC-5 打靶 渗透测试详细过程_dc-5主机渗透试…

连通性相关

连通性相关 强连通分量 强连通分量(SCC):极大的强连通子图。 Tarjan 算法 维护一个栈存储搜索到的还未确定强连通分量的点,定义:\(dfn_u\) :节点 \(u\) 被搜索的次序。 \(low_u\) :\(u\) 子树中能回溯到的最小的 \(dfn\) 。不难得到:一个点子树内的 \(dfn\) 大于该点的…

DC1主机渗透测试报告

概述测试目的通过模拟黑客的渗透测试,评估目标系统是否存在可以被攻击者真实利用的漏洞以及由此引起的风险大小,为制定相应的安全措施与解决方案提供实际的依据。分析客户WEB应用系统的安全现状,检测WEB应用系统的漏洞和安全问题,并验证其他已知的脆弱点。对系统的任何弱点…

ruoyi-flow 是一个轻量、灵活的工作流引擎, 真正的国产工作流引擎 (非BPM)。 其特点简洁轻量、独立组件、易扩展、易集成,且还拥有一个简洁美观的流程设计器。

ruoyi-flow 项目概述 项目介绍 ruoyi-flow 是一个轻量、灵活的工作流引擎, 真正的国产工作流引擎 (非BPM)。 其特点简洁轻量、独立组件、易扩展、易集成,且还拥有一个简洁美观的流程设计器。 项目背景 开源的流程引擎也好状态机引擎也好不可谓不多,他们的优点是功能很完备…

C#写个简单的windows服务+部署

部署: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 InstallUtil.exe C:\Users\Administrator\source\repos\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe 启动 停止 日志: 😘宝子:除非不再醒来,除非太阳不再升起,不然都请你好好生活,挣扎着…

laravel11:发生异常时返回json

一,未配置前laravel11直接render页面 如图:二,配置 1, bootstrap/app.php <?phpuse Illuminate\Http\Request; use Illuminate\Auth\AuthenticationException; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Foundation\Application; use I…

W外链创建小红书私信卡片教程

在当今的社交媒体时代,小红书以其独特的社区属性和用户粘性,成为了许多品牌和个人展示自己、推广产品的重要平台。而在小红书上,一张精美且富有吸引力的卡片往往能够迅速吸引用户的注意,提高点击率和转化率。本文将详细介绍如何使用W外链来创建小红书卡片,帮助你在小红书上…

kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程

1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。其实kettle连接hive和连接mysql数据库也是一样的。 1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。 2)设置hive连接参数。 3)通过表输入进行读取数据。 2、下载kyu…

火山引擎ByteHouse发布高性能全文检索引擎

作为一款定位为OLAP的分析型数据库,ByteHouse在支持结构化数据检索方面具备先天优势,而此次发布的全文检索引擎则补齐了对非结构化、半结构化等数据的快速检索能力,让用户可以构建一体化的数据管理、查询服务,降低运维成本和资源成本。更多技术交流、求职机会,欢迎关注字节…