首页 > 其他分享 >番外1.ssh连接管理器

番外1.ssh连接管理器

时间:2023-08-22 12:33:07浏览次数:42  
标签:管理器 番外 putty ssh 使用 winscp 连接

目录

本篇前瞻

学习完go语言基础的专栏,我们究竟写出怎么样的实用工具呢?我在github上开源的ssh连接管理器就是一个比较好的样例。

项目背景

这个项目的背景是之前我在上班时连接生产机器时只能使用“ssh连接三剑客”——xshell,SecureCRT或者putty。而很久前我被告知xshell,SecureCRT不能再使用了,只能使用putty 。但是putty 又不能像xshell或SecureCRT一样去管理多个ssh终端机器,只能处理一个ssh终端机器,而且还不保存用户名密码。

于是为了保证使用方便和使用习惯的一致,才有了这个开源项目,我使用go语言做粘合剂去管理puttywinscp去连接多个机器分别用于ssh终端管理和文件传输。现在这个项目呢能够和xshell或SecureCRT类似去管理多个ssh终端机器,而且非常贴合我们程序员喜欢使用命令行去操作机器的习惯。

ssh连接管理器

ssh连接管理器是一个怎样的工具呢?事实上,如果你想要做个类比,我们可以把它理解成一个简单的XShell。XShell是一个强大的ssh客户端,能够同时连接多个支持ssh连接的机器的付费工具。

在实现方面,由于putty是一个开源且免费的ssh客户端工具,但是它没法保存多个连接的用户名密码,winscp和filezilla都是一个免费的sftp客户端工具。ssh连接管理器将这三个工具进行了串联,通过putty建立ssh连接进行远程控制,而通过winscp或filezilla建立sftp连接进行文件传输。ssh连接管理器是用智能命令行和我们进行交互的。

优点

  1. 使用putty 进行ssh登录任一支持ssh的机器
  2. 使用winscp 或者filezilla进行上传或下载文件
  3. 使用命令行智能交互界面,使得程序员无需记住相关命令
  4. 能够管理putty , winscp 或者filezilla的多个机器的连接信息
  5. 使用putty , winscp 或者filezilla进行免密登录
  6. 使用国密加密保存用户名和密码的文件,密匙为登录密码

使用方式

下载ssh-mgr的windows64位发布版本,注意其最小版本为windows 7 64位或者windows server 2008 64位

配置

{
    "ssh": "C:\\Program Files\\PuTTY\\putty.exe",
    "sftp": "C:\\Program Files (x86)\\WinSCP\\WinSCP.exe",
    "source":"C:\\Linux\\ssh",
    "isEncrypted":true,
    "password":"C:\\Linux\\passwd"
}
  • ssh 用于配置putty程序的路径
  • sftp 用于配置 winscp 或者filezilla程序的路径
  • source 用于配置存储ssh连接信息的路径
  • isEncrypted 是否加密ssh连接信息的路径
  • password 用于存储密码信息,用于加密登录

使用方法

Usage of mgr:
  -c string
        config file (default "config.json")

快速开始

  • 在isEncrypted为ture时,开始需要输入密码,如果之前没有输入密码则会输入两次确认密码
  • 使用下面的命令就可以进行ssh连接或者sftp连接,group是将ssh连接分组起的名称,而name是sh连接的别名
ssh group name      #启动putty进行ssh连接
sftp group name     #启动 winscp 或者filezilla进行sftp连接
add group name      #新增一个ssh连接信息
showAddr address    #显示ip:port相关的ssh连接信息
show group name     #显示对应分组1的ssh连接信息
exit                #退出程序
  • 在打印对应的命令时会有对应的提醒,如下所示:
> ss
      ssh  ssh group name
  • 另外,它提示出对应的提醒,可以使用tab键后上下选择
> ssh t
       test   test
       test1  test1
  • 新增ssh连接信息,输入add group name后
#没有端口会默认为22,如果输入1.1.1.1:1234
please input ssh address:1.1.1.1 
please input ssh user:root
please input ssh password:*******

注意点

本工具虽然加密相关文件,但是在使用时,windows的任务管理器仍然会泄露shh的用户名和密码,为此在使用时确保只有一人在使用电脑。

使用样例

点击下面的图片可以看到视频,就是如何使用命令行进行ssh终端管理和文件传输。
image

从上面的视频,你不难看到ssh连接管理器可以以相当智能的命令行形式与程序员交互,这些功能已经相当强大。

如果你在会goalng的基础上,还会vue以及js等前端技术,那么你也能给这个工具展示一个相对完美的界面,这里挖个坑,后面有空去填一下,go语言事实上能够和js完美结合成为一个windows应用。

本篇后记

讲完这个项目,我看了这个项目初次提交的日期,居然已经是1年半之前,有点感叹时间过得真快。学习go语言也不知不觉已经到了第七个年头,而go语言也以其快速简单的开发悄悄地融入我的工作之中,让我们一起学习这个强大,简单而且易学的工具——go语言。

标签:管理器,番外,putty,ssh,使用,winscp,连接
From: https://www.cnblogs.com/onlyac/p/17630028.html

相关文章

  • linux启动tomcat后,关闭ssh连接,tomcat进程停止
    在tomcat停止后会报错:org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbcWeb应用程序[ROOT]注册了JDBC驱动程序[com.alibaba.druid.proxy.DruidDriver],但在Web应用程序停止时无法注销它。为防止内存泄漏,JDBC驱动程序已被强制取消注册。我以为是代码的问......
  • openssh的替代方案
    软件官网:https://matt.ucc.asn.au/dropbear/releases/操作步骤:1、wgethttps://matt.ucc.asn.au/dropbear/releases/dropbear-2022.83.tar.bz2./configureake&&akeinstall2、配置dropbearmkdir/etc/dropbear/usr/local/bin/dropbearkey-tdss-f/etc/dropbear/dropbea......
  • linux上SQL Server 配置管理器的使用
    概述我们知道Windows平台上的SQLServer配置管理器是一个图形工具,用于管理与SQLServer关联的服务、配置SQLServer使用的网络协议以及管理SQLServer客户端计算机的网络连接配置。我们还可以使用SQLServer配置管理器来启动、暂停、恢复或停止服务,查看服务属性或更改服务......
  • ssh框架原理及流程
    1.hibernate工作原理:读取并解析配置文件读取并解析映射信息,创建sessionFactory打开session创建事务transaction持久化操作提交事务关闭session关闭sessionFactory   为什么使用:对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码是一个基于jd......
  • 模拟SSH爆破攻击
    第一步开启靶机的SSH服务开启步骤:打开终端并以root用户身份登录(第二步kali自带SSH服务器的可省略)使用以下命令安装SSH服务器apt-getupdateapt-getinstallopenssh-server安装完成后。SSH服务将自动启动。可使用以下命令检查SSH服务的状态servicesshstatus......
  • 网格布局管理器
    AWT布局管理器有五种:流布局管理器(FlowLayout)、网格布局管理器(GridLayout)、边界布局管理器(BorderLayout)、卡片布局管理器(CradLayout)、网格包布局管理器(GridBagLayout)参考:https://www.cnblogs.com/wzy330782/p/5427968.html......
  • Hadoop学习笔记、知识点搭建速过、包含Hadoop集群搭建、HDFS、IDE操作hadoop,DFSShell
    大数据概述......
  • RPM命令详解(程序包管理器)
    一:什么是RPM程序包管理器程序包管理器是一种用于管理软件包的工具,它可以方便地安装、升级、卸载和管理软件包。程序包管理器通常包含了一个软件包仓库,其中包含了大量预打包好的软件包供用户选择和安装。RPM(RedHatPackageManager)就是一种常见的程序包管理器,是由RedHa......
  • 在 Ubuntu 22.04 系统上为 SSH 开启基于时间的 TOTP 认证
    前言一次性密码(英语:one-timepassword,简称OTP),又称动态密码或单次有效密码,是指电脑系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或一段短时间内。基于时间的一次性密码算法(英语:Time-basedOne-TimePassword,简称:TOTP)是一种根据预共享的密钥与当前时间计算一次......
  • v853开启 ssh
    到sdk目录sourcebuild/envsetup.shmakemenuconfig makepack打包时,提示空间不够,根据报错信息,修改以下文件,修改相应空间大小/home/book/workspaces/tina-v853-open/device/config/chips/v853/configs/100ask/linux-4.9/sys_partition.fex 将镜像烧录到开发板中,开......