autossh使用(本机记住ssh密码)

摘要:
手动安装并下载与当前操作系统匹配的压缩包,并将其解压缩到自定义目录。Mac/Linux用户建议将其解压缩到~/autosh目录。默认情况下,指定配置文件autosh以读取同一目录中的config.json文件。您还可以指定其他配置。使用-c或-config参数,例如:autosh-c=fileautosh-config=file以快速登录。记住服务器的编号或别名后,可以直接输入autosh编号/别名以实现快速登录,例如:Autosh1autosshovertcp file transfer file transfer文件传输文件传输文件使用类似于scp。然而,它使用sftp协议,支持本地远程和远程远程传输。使用ssh反向渗透实现centos下使用autosh命令自动部署intranet服务器

autossh版本说明

目前发现同样叫autossh的,有好几个项目

  • yum,brew中的自动重启ssh会话和隧道
  • FeeiCN的autossh
  • islenbo的autossh

后面两个的主要是用于记录密码,远程连接

Feeicn版安装使用

安装依赖:

Linux
yum install expect
apt-get install expect

安装autossh

$ git clone https://github.com/FeeiCN/autossh.git
$ sudo cp autossh/autossh /usr/local/bin/

autossh依赖expect,所以要先安装expect.

$ cat ~/.autosshrc
server_name|192.168.1.110|root|password|port|is_bastion

demo:

wufeifei|192.168.1.1|root|password|22|1

用法

➜ autossh 1
############################################################
#                     [AUTO SSH]                           #
#                                                          #
#                                                          #
# [1] dev - 18.16.200.110:root                             #
#                                                          #
#                                                          #
############################################################
spawn ssh -p22 -l root 18.16.200.110
Last login: Mon Sep 21 23:55:59 2020 from 18.16.1.11
[root@server110 ~]#

islenbo版安装使用

一键安装

  1. 下载与当前操作系统相匹配的压缩包并解压,运行install脚本,程序将自动安装至~/autossh目录,并在~/.bash_profile中更新PATH环境变量,使autossh能在任意目录生效。

手动安装

  1. 下载与当前操作系统相匹配的压缩包,解压到自定义目录,Mac/Linux 用户推荐解压到 ~/autossh 目录。
  2. 修改环境变量,在PATH中添加 ~/autossh

配置文件说明

show_detail: bool <是否显示服务器详情(用户、IP)>
options:
  ServerAliveInterval: int <是否定时发送心跳包,与SSH ServerAliveInterval属性用法相同>
servers:
  - name: string <显示名称>
    ip: string <服务器IP>
    port: int <端口>
    user: string <用户名>
    password: string <密码>
    method: string <鉴权方式,password-密码 key-密钥>
    key: string <私钥路径>
    options:
      ServerAliveInterval: int <与根节点ServerAliveInterval用法相同,该值会覆盖根节点的值>
    alias: string <别名>
    log:
      enable: bool <是否启用日志>
      filename: string <日志路径, 如 /tmp/%n-%u-%dt.log 支持变量请参考下方《日志变量》章节>
      mode: string <遇到同名日志的处理模式,cover-覆盖 append-追加,默认为cover>
groups:
  - group_name: string <组名>
    prefix: string <组前缀>
    servers: array <服务器列表,配置与servers相同,配置说明略>
    collapse: bool <是否折叠>
    proxy:
      type: string <代理方式,目前仅支持SOCKS5>
      server: string <代理服务器地址>
      port: int <端口号>
      user: string <用户,若无留空>
      password: string <密码,若无留空>

日志变量

变量说明示例
%g组名(group_name)MyGroup1
%n显示名称(name)vagrant
%u用户名(user)root
%a别名(alias)vagrant
%dt日期时间20190821223010
%d日期20190821

常规用法

将autossh放入PATH环境变量后,可在任意目录执行autossh命令,弹出菜单,输入相应的服务器编号或别名即可自动登录。

指定配置文件

autossh 默认读取同目录下的 config.json 文件,你也可以指定其他配置,使用 -c 或 -config 参数,如:

autossh -c=file
autossh -config=file

快捷登录

当你已经记住某一台服务器的编号或别名之后,可直接输入 autossh 编号/别名 实现快捷登录,如:

autossh 1
autossh vagrant

cp 文件传输

文件传输的用法类似scp,但使用的是sftp协议,支持 local <-> remote 和 remote <-> remote 传输。

local -> remote

# 1:/tmp/1.txt 表示config.json中编号为1的服务器的/tmp/1.txt文件
autossh cp ./test.txt 1:/tmp/1.txt

# vagrant 表示config.json中别名为vagrant的服务器
autossh cp ./test.txt vagrant:/tmp/1.txt

remote -> local

autossh cp 1:/tmp/1.txt ./test.txt

remote -> remote

autossh cp 1:/tmp/1.txt 2:/tmp/1.txt

多文件传输

autossh cp ./1.txt ./2.txt 1:/tmp/
autossh cp 1:/tmp/1.txt 1:/tmp/2.txt ./

文件夹传输

autossh cp -r ./dir 1:/tmp

更新检测

autossh upgrade

参考

FeeiCN/autossh

islenbo/autossh

Mac上使用Item2+lrzsz+autossh管理Linux服务器

SSH 远程登录「记住密码」

autossh反向代理实现内网穿透

为 autoSSH 端口转发配置 systemd 守护进程

AutoSSH 是一种用以对 SSH 登录进行安全地自动化的软件。!

利用ssh反向穿透实现内网服务器自动部署

centos下使用autossh命令

免责声明:文章转载自《autossh使用(本机记住ssh密码)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java5 多线程实践vim语法高亮插件编写下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【逆向】Yara规则编写安装与使用教程

前言 Yara是一个能够帮助恶意软件研究人员识别和分类恶意软件样本的工具(类似正则表达式)。规则可以通过文本或二进制的模式被创建,并且每个规则均由一组字符串和一个布尔表达式组成。 1 //示例规则 2 rule Test : Trojan 3 { 4 //规则描述 5 meta: 6 author = "Sunset" 7...

entrySet用法 以及遍历map的用法

keySet是键的集合,Set里面的类型即key的类型entrySet是 键-值 对的集合,Set里面的类型是Map.Entry   1.keySet() Map map=new HashMap(); Iterator it=map.keySet().iterator(); Object key; Object value; while(it.hasNex...

修改linux主机名与配置ssh通过主机名进行远程登录

具体步骤如下所示: 1、 vi /etc/hosts 2、vi /etc/hostname 3、vi /etc/sysconfig/network 4、需要重启服务器 reboot 5、分别在要连接的linux服务器上设置ip和hostname的映射 6、进入.ssh目录 ssh-keygen -t rsa ssh-copy-id centos@ce...

氚云后台代码小栗子,点击按钮进行计算并同步数据到另外一张表单

protected override void OnSubmit(stringactionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { if(actionName == "B...

Debian 7 Wheezy 配置: 中文字体美化

参考的是这篇文章 http://blog.csdn.net/qq280948982/article/details/6782603 首先通过sudo apt-get install 直接安装 ttf-wqy-zenhei. 另外我还安装了 xfonts-wqy.这两个字体安装完后, 不需要额外设置, Chrome的中文字体方块乱码问题就自动修复了, Ice...

guava API整理

1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection API Guava Basic Utilities IO API Cache API 2,为神马选择瓜娃? 瓜娃是java API蛋糕上的冰激凌(精华) 高效设计良好的API. 被google的开发者设计,实现和使用。...