通过putty和 winscp操作aws机器笔记
最近在生产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机器笔记相关推荐
- Putty,PuttyCM,WinSCP组合拳
完整板式地址: http://www.trydofor.com/a9w3-auhome/trydofor/article/2009/1117090745/body.htm Putty,PuttyCM, ...
- PHP操作MongoDB学习笔记
PHP操作MongoDB技術總結 <?php /** * PHP操作MongoDB学习笔记 */ //************************* //** 连接MongoDB数据库 ...
- WinSCP 连接 AWS 服务器
WinSCP 连接 AWS 服务器 前言 步骤 前言 基于目前官网上似乎没有 WinSCP 连接教程,所以这里简单记录一下 希望对喜欢 WinSCP 的小伙伴有帮助 步骤 点击"高级&quo ...
- 安装命令:pip install xlrd ,pandas操作Excel学习笔记__7000
pandas操作Excel学习笔记_loc和iloc_7000 pandas操作Excel学习笔记__7000 1.安装环境:pandas需要处理Excel的模块xlrd,所以需要提前安装xlrd.不 ...
- Flas-SQLAchemy数据库操作使用学习笔记
Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的S ...
- putty 与winscp 区别
https://zhidao.baidu.com/question/377968180.html
- C++操作Word学习笔记(三)
[当前博文转自http://blog.csdn.net/sgdgoodboy/article/details/2102628] [本文不只有Word相关内容,还涉及了Excel,由于字数限制,Exce ...
- MySQL数据操作与查询笔记 • 【目录】
持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ...
- C++操作Excel学习笔记
C++操作Excel学习笔记 一: [当前博文转载自http://blog.csdn.net/fullsail/article/details/4067416] C++读取Excel文件方式比较 C+ ...
最新文章
- Java:如何更优雅的处理空值?
- Leetcode题解(22)
- 实时平台在趣头条的建设实践
- Java反射基础(三)--Methods对象的使用
- lingo的初步使用(集)
- springboot socket服务端_SpringBoot2.x系列教程81--SpringBoot中整合WebSockets
- NoSQL数据存储引擎
- linux需要多少空间安装mysql_如何安装MySQL
- linux 启动ftp服务,sftp服务
- SparkStreaming手动维护Kafka Offset的几种方式
- Windows核心编程_远线程方式实现Dll注入
- curl header设置参数
- C语言数字雨--90行代码
- ExtJS初学——renderTo/applyTo区别
- python -- 拉勾网爬虫模拟登录
- APK Multi-Tool强大的APK反编译工具终极教程
- java.lang.NoSuchMethodError问题解决
- 京东618主场迎战:变与不变,志在必得
- Mac安装软件时各种异常情况的解决方法
- 批量下载xx艺术照片的简单爬虫
热门文章
- mysql存储数据到cephfs_采用cephfs实现Elasticsearch数据持久化
- opencv轮廓周长原理_OpenCV3 - 轮廓特征
- android 调用.h文件,[Android Studio / NDK] 如何使用javah生成.h文件
- Lambda表达式的基础知识
- .net core webapi 列表返回指定的字段_ADO.NET 使用初探之SQL操作 | C# 数据操作系列...
- 分享几款linux的歌词插件
- CodeForces - 1562D2 Two Hundred Twenty One (hard version)(二分)
- CodeForces - 1400G Mercenaries(容斥原理)
- MATLAB插值问题
- CodeForces - 1295B Infinite Prefixes(数学)