目錄
- 背景
- 分析
- 解決方案
- 問題結(jié)論
背景
服務(wù)器降配,將實(shí)例規(guī)格從r5.4xlarge降為r5.2xlarge后服務(wù)器ssh無法登陸
分析
- 查看aws控制臺,可以看到實(shí)例狀態(tài)時(shí)啟動的,并且狀態(tài)檢查已通過
- 內(nèi)網(wǎng)ip和外網(wǎng)ip都是可以ping通的
- telnet ip port不通(之前就改變了ssh的配置,修改了ssh默認(rèn)端口)
- 控制臺的系統(tǒng)日志顯示ssh服務(wù)是啟動了的
解決方案
初步判斷是ssh配置的問題
但是這個(gè)時(shí)候又沒辦法通過ssh登陸來修改ssh配置,其它登陸方式(控制臺登陸、telnet登陸等)都沒開通
通過救援實(shí)例登陸
具體思路就是重新在aws控制臺啟動一個(gè)新的實(shí)例,最小規(guī)格的就行。然后將原來無法啟動服務(wù)器的硬盤掛載到新實(shí)例上當(dāng)做附加卷,修改完附加卷上的sshd_config后再掛載回去。
下面是一些用到的命令:
# 創(chuàng)建掛載目錄 sudo mkdir /mnt/rescue # 掛載到創(chuàng)建的目錄 sudo mount -t xfs -o nouuid /dev/xvdf1 /mnt/rescue/ # 卸載目錄 sudo umount /mnt/rescue/
注意硬盤在aws控制臺掛載和卸載的時(shí)候都需要把實(shí)例給停止。然后掛載的目錄也是有講究的,附加卷的掛載路徑是/dev/sd[f-p]。如果掛載了之后導(dǎo)致新的實(shí)例啟動不了,可以換個(gè)掛載路徑再掛載試試。
問題結(jié)論
之前的服務(wù)器默認(rèn)ssh端口不是22,更換實(shí)例類型后ssh配置有初始化,無法登陸將ssh配置的22端口放開,密碼登陸放開就可以了。
還有一個(gè)小問題,把sshd_config的22和修改的端口都放開,再把硬盤掛載回去,此時(shí)舊的實(shí)例登陸上去,再看ssh的配置除了22端口,另一個(gè)端口被注釋了,可能是aws自己操作的。
參考文檔