通过putty和 winscp操作aws机器笔记
最近在生產(chǎn)aws環(huán)境部署了支持http3的nginx集群(nginx+consul+upsync)。整個(gè)部署過(guò)程使用putty操作虛擬機(jī),通過(guò)winscp上傳下載文件。
寫(xiě)了一些操作筆記以及記錄了我自己碰到的幾個(gè)問(wèn)題
PS:
由于是生產(chǎn)環(huán)境,所以所有的服務(wù)機(jī)器都是通過(guò)堡壘機(jī)登錄的,并且設(shè)置了密鑰
下面提到的服務(wù)器地址都是不能直接通過(guò)ssh命令直接連接的應(yīng)用服務(wù)器地址
WINSCP
winscp的操作相對(duì)putty來(lái)說(shuō)比較簡(jiǎn)單
然后點(diǎn)擊確認(rèn)和登錄按鈕就可以看到如下連接成功的提示
PUTTY
putty通過(guò)密鑰登錄內(nèi)網(wǎng)機(jī)器
在aws兩臺(tái)機(jī)器,一臺(tái)是可以是堡壘機(jī),可以在任何點(diǎn)通過(guò)ssh命令訪問(wèn),一臺(tái)是內(nèi)網(wǎng)機(jī)器,只能通過(guò)堡壘機(jī)使用SSH命令連接,其安全組配置如下:
由于要使用密鑰進(jìn)行登陸,需要先保存私鑰到本地(如果是pem文件需要先通過(guò)puttygen轉(zhuǎn)換成ppk文件)
1.將pem轉(zhuǎn)化成ppk文件
打開(kāi)puttygen并點(diǎn)擊load,選擇自己電腦上的pem公鑰并打開(kāi),就可以看到如下圖所示的導(dǎo)入成功的消息,然后點(diǎn)擊保存私鑰的按鈕,就可以得到對(duì)應(yīng)的ppk文件
由于兩臺(tái)機(jī)器的登陸都需要私鑰,而私鑰只是存儲(chǔ)在我本地,所以通過(guò)Pageant來(lái)保存私鑰。
Pageant是PuTTY身份驗(yàn)證代理。 它可以私鑰保存在內(nèi)存中,以便我們可以在連接到服務(wù)器時(shí)使用它們。
2.添加私鑰到Pageant
3. putty連接堡壘機(jī)
4.登陸堡壘機(jī)
通過(guò)ssh命令連接內(nèi)網(wǎng)機(jī)器(aws上Red Hat的實(shí)例的默認(rèn)登陸用戶都是ec2-user)
putty做端口映射
在搭建nginx+consul+upsync集群的時(shí)候,為了安全性,所有的機(jī)器都僅可以通過(guò)堡壘機(jī)訪問(wèn),consul集群通過(guò)私有子網(wǎng)來(lái)創(chuàng)建實(shí)例。這樣一來(lái),我們也不能直接通過(guò)consul服務(wù)端的ip+端口訪問(wèn)器web界面了,解決方案有三種:
- 1.通過(guò)nginx映射到外網(wǎng),然后訪問(wèn)nginx的時(shí)候做登陸驗(yàn)證
- 2.使用consul 自己的ACL機(jī)制,設(shè)置token才可以訪問(wèn) 比較麻煩
- 3.通過(guò)putty的ssh隧道,在登陸堡壘機(jī)的時(shí)候做端口映射,先給與堡壘機(jī)訪問(wèn)consul ui的權(quán)限,然后通過(guò)端口映射到本地
最終我選擇了第三種,既保證了安全性,配置起來(lái)也很簡(jiǎn)單,使用putty 登陸堡壘機(jī)就可以訪問(wèn)consul的頁(yè)面
consul服務(wù)器ip:172.33.63.50,登陸后安裝并啟動(dòng)consul
在本地通過(guò)127.0.0.1:8500端口就可以訪問(wèn)了— 注意是映射到的是本地的端口
通過(guò)SSH命令進(jìn)行私鑰轉(zhuǎn)發(fā)
按照上述操作可以使用putty連接內(nèi)網(wǎng)服務(wù)器,不過(guò)每次都需要輸入ssh ec2-user@ip命令來(lái)連接服務(wù)器,也比較麻煩,查閱了下看看是否有其他更簡(jiǎn)單的方式來(lái)連接
其中一個(gè)辦法就是把命令保存成shell文件,這樣在使用的時(shí)候就會(huì)方便些,不需要再去看對(duì)應(yīng)服務(wù)的IP了
思路也是一樣的,先是通過(guò)ssh-agent 管理私鑰;然后轉(zhuǎn)發(fā)私鑰來(lái)登陸內(nèi)網(wǎng)服務(wù)器
1.通過(guò)ssh-add命令添加私鑰
執(zhí)行ssh-add時(shí)如果出現(xiàn)"Could not open a connection to your authentication agent"錯(cuò)誤,則執(zhí)行ssh-agent bash命令
通過(guò)ssh-add -l命令我們可以看到對(duì)應(yīng)的私鑰已經(jīng)被加入了
2.登陸內(nèi)網(wǎng)服務(wù)器
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用戶,來(lái)經(jīng)過(guò)堡壘機(jī)的認(rèn)證,但是我登陸內(nèi)網(wǎng)服務(wù)器則是使用ec2-user用戶登錄。前面的是目標(biāo)服務(wù)器的信息,ProxyCommand里的是堡壘機(jī)的信息
為了便于簡(jiǎn)單,可以把上述信息寫(xiě)到配置文件~/.ssh/config里邊
這樣以后想要連接對(duì)應(yīng)的服務(wù)器只要使用ssh + host 就可以了
不過(guò)通過(guò)ssh-add命令添加的私鑰只要關(guān)閉命令臺(tái)就會(huì)失效了,每次都需要重新通過(guò)ssh-add命令添加一下
總結(jié)
以上是生活随笔為你收集整理的通过putty和 winscp操作aws机器笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AWS 用户指南笔记
- 下一篇: QUIC实战(一) 通过Quiche部署