通过putty和 winscp操作aws机器笔记

本文档详细记录了如何在生产AWS环境中使用Putty和Winscp部署支持HTTP3的Nginx集群,包括通过堡垒机登录、SSH密钥管理、端口映射和SSH隧道设置。此外,还介绍了通过ssh-agent和配置文件简化内网服务器连接的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在生产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-server1
   HostName 172.33.63.50
   Port 22
   User ec2-user
   ProxyCommand ssh -p 22 ec2-user@54.238.43.140 -W %h:%p

在这里插入图片描述

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值