MAC终端密钥登录自动输入密码
升级MAC系统后,发现用于MAC终端ssh服务器的登录脚本无法正常执行了,表现为:需要手动输入密钥密码,于是重新整理一下,恢复正常,在此记录一下:
#!/usr/bin/expect -f
spawn ssh-add -D
expect "*removed."
spawn ssh-add -l
expect "*identities."
spawn ssh-add /Users/alsoalso/keys/RSA_Key01
expect "*RSA_Key01" {send "密钥密码\r";}
expect "Identity added:"
spawn ssh SSH用户@IP地址 -pSSH端口 -i /Users/alsoalso/keys/RSA_Key01
expect "*yes/no*" { send "yes\n"; exp_continue }
interact
说明一下:
#!/usr/bin/expect -f 指定expect, 需要安装
spawn ssh-add -D 删除已add的密码,mac终端对添加的条目有限制,所以每次都初始化一下
expect "*removed." 根据上一步的执行反馈,获取关键字用于执行下一步的条件
spawn ssh-add -l 列出密钥列表,非必须
expect "*identities." 根据上一步的执行反馈,获取关键字用于执行下一步的条件,非必须
spawn ssh-add /Users/alsoalso/keys/RSA_Key01 添加密钥文件
expect "*RSA_Key01" {send "密钥密码\r";} 输入密钥密码
expect "Identity added:" 判断密钥是否登录成功
spawn ssh SSH用户@IP地址 -pSSH端口 -i /Users/alsoalso/keys/RSA_Key01 连接服务器
expect "*yes/no*" { send "yes\n"; exp_continue } 如果首次连接服务器,会有确认
interact 命令执行完成后保持登录在远程服务器上
20180322更新:直接切换为root用户
#!/usr/bin/expect -f
spawn ssh-add -D
expect "*removed."
spawn ssh-add -l
expect "*identities."
spawn ssh-add /Users/alsoalso/keys/RSA_Key00
expect "*RSA_Key00" {send "mima\r";}
expect "Identity added:" { spawn ssh sshusername@ip -pssh端口 -i /Users/alsoalso/keys/RSA_Key00 }
expect "sshusername@hostname ~" { send "su\r" }
expect "密码" { send "rootmima\r" }
expect "*yes/no*" { send "yes\r"; exp_continue }
interact
用到了其中的一些东西,所以转载一下https://www.cnblogs.com/sgwjj/p/7766987.html
MAC终端密钥登录自动输入密码的更多相关文章
- Mac 终端命令使用自动补全时忽略大小写设置
Mac 终端在使用 tab 补全命令时默认大小写敏感,通过以下设置方法可以忽略大小写,方法同样适用于 iTerm2. 打开终端输入以下命令: nano .inputrc 将以下命令复制进去: set ...
- Mac下终端使用密钥登录服务器
可行方法: mac终端输入 ssh-keygen 因为mac系统是类unix系统,linux系统是unix系统演变来的,所以呢,相当于在一个linux系统登录另外一个linux系统, 基本命令还是一样 ...
- 转载 :配置ssh密钥认证自动登录
原文地址 :https://segmentfault.com/a/1190000000481249 在客户端来看,SSH提供两种级别的安全验证.[摘自wikipedia] 第一种级别(基于密码的安全验 ...
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如有转载,请保留源作者博客信息. Better Me的博客:blog.csdn.net/tantexian 如需 ...
- 终端ssh登录mac用shell打包ipa报错:replacing existing signature
终端ssh登录mac用shell打包ipa报错:replacing existing signature 报错原因:login.keychain被锁定,ssh登录的没有访问权限 解决方法:终端敲入 s ...
- Mac终端命令自动补全
在这里我们首先说一下mac终端执行命令的时候,不会像在windows系统中安装的linux一样支持自动补全,需要自己去调试 步骤如下: (1)打开终端输入nano .inputrc(这里一定要注意na ...
- Linux自动输入密码登录用户
每次进去Linux系统,都有切换root用户,输入密码很麻烦,所以就写了一个小脚本,自动输入密码,登录到root用户, 1,首先检查一些是否安装了expect root@wuzs:/home/wuzs ...
- 使用 Linux 终端 SSH 登录 VPS
Windows 中远程 SSH 登录 VPS 进行管理的利器是 PuTTY,但是 Linux 中就没必要用它了.Linux.Unix(包括 Mac iOS)都必然有内置的命令行终端,内建了 OpenS ...
- 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
原文:[Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff ] 基本命令 1.列出文件 ls 参数 目录名 例: 看看驱动目录下有什么:ls /S ...
随机推荐
- ionic2/cordova自定义插件集成aar包
一.准备自定义插件 1. 准备:安装plugman npm install -g plugman 2. 新建组件 plugman create --name MyPlugin --plugin_id ...
- c#代码文件上传和下载
public JsonResult UploadFile(DriverFileManager filem) { var hfc = Syste ...
- BigDecimal的引入和概述
[代码] System.out.println(0.09 + 0.01); System.out.println(0.1 - 0.32); System.out.println(1.015 * 100 ...
- 016 pickle
英文也是泡菜的意思. 学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁. 一:介绍 1.为什么使用 在开篇已经介绍了,但是我这里粘贴一下 ...
- 关于ACtion类利用file类型取得上传文件的内容,名字和内容类型
上面的Action提供了两个属性:uploadFileName和uploadContentType,这个两个属性分别用于封转上传文件的文件名.上传文件的文件类型.Action类直接通过File类型属性 ...
- Could not find result map XXX 解决办法
错误定位在xml文件中 resultmap类型不匹配
- 1402 后缀数组 (hash+二分)
描述 后缀数组 (SA) 是一种重要的数据结构,通常使用倍增或者DC3算法实现,这超出了我们的讨论范围.在本题中,我们希望使用快排.Hash与二分实现一个简单的 O(n log^2n ) 的后缀数组 ...
- URAL 1099 Work Scheduling (一般图最大匹配) 模板题【带花树】
<题目链接> <转载于 >>> > 题目大意: 给出n个士兵,再给出多组士兵之间两两可以匹配的关系.已知某个士兵最多只能与一个士兵匹配.求最多能够有多少对匹 ...
- nginx那些事儿
一.mac上安装nginx brew install nginx # 核心安装目录,启动文件在该目录的bin下面,欢迎页面在html下面. /usr/local/Cellar/nginx/1.12.2 ...
- Vue项目初始
利用npm搭建Vue项目流程 安装 第一步: 官方下载node 或者pip install node 第二步:可忽略 : npm install npm@latest -g 更新最新的稳定版本 第三 ...