又一次服務(wù)器異常,如何ssh+vnc遠程登錄

繼上一次Ubuntu礦機問題之后,vnc也出問題了。原來我以為校網(wǎng)比較干凈,就什么安全措施都沒做。大家都直接可以vnc遠程登錄,輸個密碼就OK了,等于沒戴套就上床了(捂臉)


事情回憶:

這次隔了一個多星期,沒有截圖了只能文字表述。

我們的ubuntu服務(wù)器有多個人遠程登錄工作。都是用的tigervnc。vncserver開個口,client一連接就開搞。最近有人反映vncviewer連不上,一連接就顯示'too many authentication failure'。? 我就自己試驗了一下。結(jié)果發(fā)現(xiàn),在我剛創(chuàng)建vncserver process的時候是可以連接的。但是等幾分鐘再連就會報上面的錯。后來google了一下發(fā)現(xiàn)是安全問題。

這個上面說因為網(wǎng)絡(luò)里有自動查找server的惡意腳本,當(dāng)看到你的server某個端口開著的時候就嘗試brutal force進去。vnc自己有防御機制。在發(fā)現(xiàn)多次嘗試失敗以后就自動禁止所有外界嘗試了。然后我們自己想用的時候request自然也就被拒絕了。相當(dāng)于多次嘗試開機密碼失敗,就鎖機了。

知道了問題癥結(jié),就得想解決辦法。一般來說遠程連接安全的做法就是ssh。但是如果只是ssh user@地址的話,連進去全是命令行,就沒有vnc了。那么怎么才能既用ssh又用vnc呢?一下是我google了一下午之后學(xué)到的解決辦法。(從零開始看,連ssh機理都不懂。。。)


解決辦法,ssh+vnc

不熟悉ssh用作機理的小伙伴這里有youtube視頻

mit網(wǎng)頁上找到一哥們的解決方法,用ssh的port forwarding(不清楚原理的小伙伴看這里,這里有視頻,講的很清楚)

他的想法有點繞,我也不知道是不是真的比單單用ssh要安全,但是確實能夠用ssh把vnc加密。原理是在建立vnc的時候,用localhost地址來限制Xvnc所接受的來訪地址。也就是說,之后server主機的地址才能連接。

$ vncserver :7 -geometry 1280x854 -localhost

這樣確實安全了??墒浅朔?wù)器大家都連不上啊,那有啥用? 這時候,用ssh遠程登錄,并且把一個本地的port map到目標(biāo)地址的vncserver輸出口,然后再用vnc client連接本地的那個端口。這就實現(xiàn)了vnc client用本地連接,vnc server只接收本地ip,卻能把connect建立起來(好不好放一邊,我得承認這哥們很有想法!)

$ ssh -x -e none -L 5902:127.0.0.1:5907 vnc.server.host? ? # vnc.server.host是服務(wù)器的ip

(用ubuntu的話,上面這條命令是在client上打的啊,不是去server上建立ssh的。。。)

要知道vnc打開的connection都是59xx。5902就是2號。5907就是7號。上面的命令等于說“先用ssh登錄服務(wù)器。再用ssh開一個local port-forwarding,把所有收到的5902的信息全都forward到127.0.0.1的5907端口去”。5907就是vncserver :7。因為已經(jīng)ssh登陸了,所以系統(tǒng)知道127.0.0.1是服務(wù)器的localhost,這樣就和vncserver接上了。

ssh連上以后,terminal放著不動就行。這是最后再用vncviewer連接localhost:2,也就是服務(wù)器的5902。感覺像繞了一個大圈,但是目前沒有在遇到vnc報錯的問題。? 我不知道我說清楚沒有,如果不好理解的話看看視頻里的動畫應(yīng)該就能明白了。

最好在把22號端口也給改了,讓別人不知道你的ssh端口是啥。


多平臺應(yīng)用

ssh用macOS和ubuntu很好連接。用windows的話有一點點麻煩,需要putty來做port forwarding。這里有視頻教怎么弄。普通的ssh命令怎么做,和怎么改port號,在這里可以找到。這里有更多的port forwarding的例子,幫助理解。


最后為了方便備注一下,ubuntu上改port號的那個文件是 /etc/ssh/sshd_config

改過port號之后要重啟一下ssh才能生效。

sudo /etc/init.d/ssh restart


感謝一下這位mit牛人的notes。


ref:

https://solveoptimized.com/how-to-resolve-prevent-too-many-authentication-failures-with-vnc/

https://www.youtube.com/watch?v=PXi-39elr6Y&t=190s

http://www.mit.edu/~avp/lqcd/ssh-vnc.html

https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding

https://www.youtube.com/watch?v=JKrO5WABdoY

https://www.youtube.com/watch?v=7YNd1tFJfwc

https://www.youtube.com/watch?v=DI3G-TfY1wM

https://www.ssh.com/ssh/tunneling/example

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • tigervnc 是client-server的工作模式,默認是不加密的,可以使用ssh forwarding m...
    suenism閱讀 1,493評論 0 1
  • http://blog.csdn.net/pipisorry/article/details/52269785 什...
    950545c4cd64閱讀 83,609評論 0 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評論 19 139
  • 我的個人博客:https://lixiaohui.live主要的步驟是有兩步的: Step 1: 在CentOs7...
    slixiaohui閱讀 18,656評論 4 4
  • 每個人,對人生都有不同的理解。有的人認為一生是白駒過隙、轉(zhuǎn)瞬即逝;有的人認為一生是極度漫長、度日如年。而我認...
    王不之閱讀 1,386評論 0 0

友情鏈接更多精彩內(nèi)容