背景

Mac自带terminal,以及比较好用的iTerm2命令行工具,都缺乏一个功能,就是远程SSH连接,无法保存密码。
一种方法是将本机的ssh_key放到远程服务器中实现无密码登录。这种方法在很多情况下无法实现,因为远程服务器大多是客户的。
本文介绍一个简单、轻量级的命令行工具——sshpass,通过它我们能够向命令提示符本身提供密码(非交互式密码验证),这样就可以实现自动连接远程服务器,而且能自动执行远程命令。

安装sshpass

  1. 下载sshpass:https://sourceforge.net/projects/sshpass/files/
  2. 进入 sshpass目录
  3. 运行【./configure】
  4. 运行【sudo make install】
  5. 运行【sshpass 】 来测试是否安装成功

sshpass使用

  1. Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
  2. -f filename Take password to use from file
  3. -d number Use number as file descriptor for getting password
  4. -p password Provide password as argument (security unwise)
  5. -e Password is passed as env-var "SSHPASS"
  6. With no parameters - password will be taken from stdin
  7. -h Show help (this screen)
  8. -V Print version information
  9. At most one of -f, -d, -p or -e should be used

使用用户名和密码登录到远程Linux ssh服务器(10.42.0.1),并检查文件系统磁盘使用情况,如图所示。

  1. $ sshpass -p 'my_pass_here' ssh aaronkilik@10.42.0.1 'df -h'

也可以使用sshpass 通过scp传输文件或者rsync备份/同步文件,如下所示:

  1. ------- Transfer Files Using SCP -------
  2. $ scp -r /var/www/html/example.com --rsh="sshpass -p 'my_pass_here' ssh -l aaronkilik" 10.42.0.1:/var/www/html
  3. ------- Backup or Sync Files Using Rsync -------
  4. $ rsync --rsh="sshpass -p 'my_pass_here' ssh -l aaronkilik" 10.42.0.1:/data/backup/ /backup/

iTerm2集成sshpass实现快速SSH连接

  • 打开iTerm2的Profiles菜单,进入Profiles设置。
  • 点击Edit Profiles。
  • 增加SSH连接。
    • Name:名称
    • Tags:分组或者标签名称
    • Title:设置窗口名称
    • Command:/usr/local/bin/sshpass -p 'xxxx' ssh root@192.168.129.116
  • 快速连接

参考资料

  1. sshpass:一个很棒的免交互SSH登录工具,但不要用在生产服务器上
  2. iTerm2 保存ssh用户名密码

iTerm2快速SSH连接并保存密码的更多相关文章

  1. ansible不配ssh连接,用户密码登录

    ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass. 否则会报错: sshpass安装 sshpass下载地址:http://sourceforge.net/proje ...

  2. SecureCRT SSH连接一直提示密码错误

    这是解决方法:  http://www.linuxidc.com/Linux/2016-09/134925.htm

  3. Mac下使用sshpass让iterm2支持多ssh登录信息保存

    mac下没有xshell等连接linux服务器的工具,当需要管理的服务器越来越多之后,密码管理就成了一个很头疼的问题,每次都需要去复制粘贴密码,浪费了很多时间,在网上查了不少资料,发现mac下可以使用 ...

  4. 配置ssh连接会话复用免密码登录

    我们经常使用ssh连接远程主机,为了方便,避免每次登录输入密码,通常使用密钥登录.如果没有设置密钥, 则需要使用密码登录了,若每次都输入密码则十分繁琐.我们可以设置ssh连接会话复用,则登录成功后,会 ...

  5. Xftp连接linux(ubuntu)时提示ssh服务器拒绝了密码,请再试一次

    用xftp root连接时显示ssh服务器拒绝了密码,请重新连接.由于sshd的设置不允许root用户用密码远程登录,修改/etc/ssh/sshd_config文件,但必须是安装了openssh才会 ...

  6. 关于“Xshell连接linux(deepin)时提示ssh服务器拒绝了密码,请再试一次”的问题

    用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录 修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会 ...

  7. windows cmd下ssh连接免密码问题解决

    windows 7 cmd下 ssh -T username@serverip 免密码连接成功 有的同学在windows下开发,并且在windows下安装了git for windows,这些资源已经 ...

  8. xshell ssh连接linux时提示ssh服务器拒绝了密码

    用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录 修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会 ...

  9. Xshell连接linux(deepin)时提示ssh服务器拒绝了密码,请再试一次解决方法

    用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录 修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会 ...

随机推荐

  1. iOS面试-关于秒退

    1 为什么很多的 iOS app 都有秒退现象?有什么好方法避免它?有哪些好方法避免这种现象吗? 问题里的“秒退”如果我没理解错,应该是指程序显示完默认启动图片后,在初始化阶段就崩溃了(也可以叫“闪退 ...

  2. Apache Spark大数据分析入门(一)

    摘要:Apache Spark的出现让普通人也具备了大数据及实时数据分析能力.鉴于此,本文通过动手实战操作演示带领大家快速地入门学习Spark.本文是Apache Spark入门系列教程(共四部分)的 ...

  3. Flutter的布局方法

    重点是什么? Widgets 是用于构建UI的类. Widgets 用于布局和UI元素. 通过简单的widget来构建复杂的widget Flutter布局机制的核心就是widget.在Flutter ...

  4. django 之(二) --- 源码分析

    CBV类视图继承 CBV:继承自View:注册的时候使用的as_view() 入口 不能使用请求方法的名字作为参数的名字 只能接受已经存在的属性对应的参数 定义了一个view 创建了一个类视图对象 保 ...

  5. 【Qt开发】QT4 升级到 QT5 改动

    QT4 升级到 QT5 改动: PC部分: [改 QTDIR 变量] 在工程根目录下找到 .user 文件 ,  如 InnoTabPlugin.vcxproj.user 修改指向你的 QT5 根目录 ...

  6. Nuxt.js入门学习

    Nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).再直白点说,就是Vue.js原来是开发SPA(单页应用)的,但是随着技术的普及,很多人想用Vue开发多页应用, ...

  7. 大白带你侃JAVA——封装的概述及好处

    封装概述: 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式 这是什么意思呢? 简单的来说就是我将不想给别人看的数据,以及别人无需知道的内部细节, "锁起来" ,我们只留下 ...

  8. [转帖]System Dynamic Management Views

    System Dynamic Management Views https://docs.microsoft.com/en-us/sql/relational-databases/system-dyn ...

  9. 【51nod】2589 快速讨伐

    51nod 2589 快速讨伐 又是一道倒着推改变世界的题... 从后往前考虑,设\(dp[i][j]\)表示还有\(i\)个1和\(j\)个\(2\)没有填,那么填一个1的话直接转移过来 \(dp[ ...

  10. Intellj IDEA快捷键入门 之 Ctrl+Space(空格)

    Intellj IDEA快捷键入门 之 Ctrl+Space(空格) 时间:2019/11/28 系统:Win10系统 背景: Win10系统下,想把ctrl+space(空格)切换输入法取消, 以防 ...