最近在生产aws环境部署了支持http3的nginx集群(nginx+consul+upsync)。整个部署过程使用putty操作虚拟机,通过winscp上传下载文件。

写了一些操作笔记以及记录了我自己碰到的几个问题

PS:
由于是生产环境,所以所有的服务机器都是通过堡垒机登录的,并且设置了密钥
下面提到的服务器地址都是不能直接通过ssh命令直接连接的应用服务器地址

WINSCP

winscp的操作相对putty来说比较简单


然后点击确认和登录按钮就可以看到如下连接成功的提示

PUTTY

putty通过密钥登录内网机器

在aws两台机器,一台是可以是堡垒机,可以在任何点通过ssh命令访问,一台是内网机器,只能通过堡垒机使用SSH命令连接,其安全组配置如下:


由于要使用密钥进行登陆,需要先保存私钥到本地(如果是pem文件需要先通过puttygen转换成ppk文件)

1.将pem转化成ppk文件
打开puttygen并点击load,选择自己电脑上的pem公钥并打开,就可以看到如下图所示的导入成功的消息,然后点击保存私钥的按钮,就可以得到对应的ppk文件

由于两台机器的登陆都需要私钥,而私钥只是存储在我本地,所以通过Pageant来保存私钥。
Pageant是PuTTY身份验证代理。 它可以私钥保存在内存中,以便我们可以在连接到服务器时使用它们。

2.添加私钥到Pageant

3. putty连接堡垒机


4.登陆堡垒机

通过ssh命令连接内网机器(aws上Red Hat的实例的默认登陆用户都是ec2-user)

putty做端口映射

在搭建nginx+consul+upsync集群的时候,为了安全性,所有的机器都仅可以通过堡垒机访问,consul集群通过私有子网来创建实例。这样一来,我们也不能直接通过consul服务端的ip+端口访问器web界面了,解决方案有三种:

  • 1.通过nginx映射到外网,然后访问nginx的时候做登陆验证
  • 2.使用consul 自己的ACL机制,设置token才可以访问 比较麻烦
  • 3.通过putty的ssh隧道,在登陆堡垒机的时候做端口映射,先给与堡垒机访问consul ui的权限,然后通过端口映射到本地

最终我选择了第三种,既保证了安全性,配置起来也很简单,使用putty 登陆堡垒机就可以访问consul的页面
consul服务器ip:172.33.63.50,登陆后安装并启动consul


在本地通过127.0.0.1:8500端口就可以访问了— 注意是映射到的是本地的端口

通过SSH命令进行私钥转发

按照上述操作可以使用putty连接内网服务器,不过每次都需要输入ssh ec2-user@ip命令来连接服务器,也比较麻烦,查阅了下看看是否有其他更简单的方式来连接
其中一个办法就是把命令保存成shell文件,这样在使用的时候就会方便些,不需要再去看对应服务的IP了

思路也是一样的,先是通过ssh-agent 管理私钥;然后转发私钥来登陆内网服务器

1.通过ssh-add命令添加私钥


执行ssh-add时如果出现"Could not open a connection to your authentication agent"错误,则执行ssh-agent bash命令

通过ssh-add -l命令我们可以看到对应的私钥已经被加入了

2.登陆内网服务器

ssh ec2-user@172.33.63.50 -p 22 -o ProxyCommand='ssh -p 22 ec2-user@54.238.43.140 -W %h:%p'

这条命令的意思是,我使用ec2-user用户,来经过堡垒机的认证,但是我登陆内网服务器则是使用ec2-user用户登录。前面的是目标服务器的信息,ProxyCommand里的是堡垒机的信息

为了便于简单,可以把上述信息写到配置文件~/.ssh/config里边

Host consul-server1HostName 172.33.63.50Port 22User ec2-userProxyCommand ssh -p 22 ec2-user@54.238.43.140 -W %h:%p

这样以后想要连接对应的服务器只要使用ssh + host 就可以了

不过通过ssh-add命令添加的私钥只要关闭命令台就会失效了,每次都需要重新通过ssh-add命令添加一下

通过putty和 winscp操作aws机器笔记相关推荐

  1. Putty,PuttyCM,WinSCP组合拳

    完整板式地址: http://www.trydofor.com/a9w3-auhome/trydofor/article/2009/1117090745/body.htm Putty,PuttyCM, ...

  2. PHP操作MongoDB学习笔记

    PHP操作MongoDB技術總結 <?php /** * PHP操作MongoDB学习笔记 */ //************************* //**   连接MongoDB数据库  ...

  3. WinSCP 连接 AWS 服务器

    WinSCP 连接 AWS 服务器 前言 步骤 前言 基于目前官网上似乎没有 WinSCP 连接教程,所以这里简单记录一下 希望对喜欢 WinSCP 的小伙伴有帮助 步骤 点击"高级&quo ...

  4. 安装命令:pip install xlrd ,pandas操作Excel学习笔记__7000

    pandas操作Excel学习笔记_loc和iloc_7000 pandas操作Excel学习笔记__7000 1.安装环境:pandas需要处理Excel的模块xlrd,所以需要提前安装xlrd.不 ...

  5. Flas-SQLAchemy数据库操作使用学习笔记

    Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的S ...

  6. putty 与winscp 区别

    https://zhidao.baidu.com/question/377968180.html

  7. C++操作Word学习笔记(三)

    [当前博文转自http://blog.csdn.net/sgdgoodboy/article/details/2102628] [本文不只有Word相关内容,还涉及了Excel,由于字数限制,Exce ...

  8. MySQL数据操作与查询笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ...

  9. C++操作Excel学习笔记

    C++操作Excel学习笔记 一: [当前博文转载自http://blog.csdn.net/fullsail/article/details/4067416] C++读取Excel文件方式比较 C+ ...

最新文章

  1. Java:如何更优雅的处理空值?
  2. Leetcode题解(22)
  3. 实时平台在趣头条的建设实践
  4. Java反射基础(三)--Methods对象的使用
  5. lingo的初步使用(集)
  6. springboot socket服务端_SpringBoot2.x系列教程81--SpringBoot中整合WebSockets
  7. NoSQL数据存储引擎
  8. linux需要多少空间安装mysql_如何安装MySQL
  9. linux 启动ftp服务,sftp服务
  10. SparkStreaming手动维护Kafka Offset的几种方式
  11. Windows核心编程_远线程方式实现Dll注入
  12. curl header设置参数
  13. C语言数字雨--90行代码
  14. ExtJS初学——renderTo/applyTo区别
  15. python -- 拉勾网爬虫模拟登录
  16. APK Multi-Tool强大的APK反编译工具终极教程
  17. java.lang.NoSuchMethodError问题解决
  18. 京东618主场迎战:变与不变,志在必得
  19. Mac安装软件时各种异常情况的解决方法
  20. 批量下载xx艺术照片的简单爬虫

热门文章

  1. mysql存储数据到cephfs_采用cephfs实现Elasticsearch数据持久化
  2. opencv轮廓周长原理_OpenCV3 - 轮廓特征
  3. android 调用.h文件,[Android Studio / NDK] 如何使用javah生成.h文件
  4. Lambda表达式的基础知识
  5. .net core webapi 列表返回指定的字段_ADO.NET 使用初探之SQL操作 | C# 数据操作系列...
  6. 分享几款linux的歌词插件
  7. CodeForces - 1562D2 Two Hundred Twenty One (hard version)(二分)
  8. CodeForces - 1400G Mercenaries(容斥原理)
  9. MATLAB插值问题
  10. CodeForces - 1295B Infinite Prefixes(数学)