PTT推薦

[閒聊] 利用ssh tunnel 連線NAS

看板Storage_Zone標題[閒聊] 利用ssh tunnel 連線NAS作者
chang0206
(Eric Chang)
時間推噓 6 推:7 噓:1 →:16

其實這個技術一點都不難,只要有ssh-key 再加上一行指令就可以解決
只是連線頻寬會受限,然後或許有一些安全性的考量

作法如下

1. 開啟 NAS 的SSH登入功能
詳細作法請參閱各家NAS 說明書...

2. 用SSH 登入NAS
ssh [email protected]_IP

3. 在NAS上產生 SSH-key
ssh-keygen -t rsa -b 2048
如果不需要再針對sshkey做保護,那就直接按enter跳過就好

4. 在NAS 上輸入以下指令
ssh -R 80:localhost:443 ssh.localhost.run 2>&1
指令中的443 是指NAS的管理界面埠號
以synology 來說就是 5000 (好像是吧) ,QNAP 是多少我忘記了

執行完成後,畫面上會跳出訊息,給你一串網址
開啟那個網址就可以進入你的NAS管理界面

[email protected]:~/git/host$ ssh -R 80:localhost:7777 ssh.localhost.run 2>&1

===============================================================================Welcome to localhost.run!

Follow your favourite reverse tunnel at [https://twitter.com/localhost_run].

**You need a SSH key to access this service.**
If you get a permission denied follow Gitlab's most excellent howto:
https://docs.gitlab.com/ee/ssh/
*Only rsa and ed25519 keys are supported*

To set up and manage custom domains go to https://admin.localhost.run/

More details on custom domains (and how to enable subdomains of your custom
domain) at https://localhost.run/docs/custom-domains

To explore using localhost.run visit the documentation site:
https://localhost.run/docs/


===============================================================================

** your connection id is feadb278-d0b8-4597-a40b-35a1b0fabe45, please mentionit if you send me a message about an issue. **

48b29b1e4d7a42.localhost.run tunneled with tls termination,
https://48b29b1e4d7a42.localhost.run
Connection to ssh.localhost.run closed.

個人分析優缺點如下

優點

1. 不用在你的Firewall/分享器上面開port
因為沒有開port,所以從internet 上,不透過那個URL 是無法存取到你的NAS的
而且那串網址的第一段基本上是個亂數編碼,就算有人針對這個localhost.run
去掃描,也很難能夠找到,再者,這只是一個「臨時」的網址,只能存活數小時
要被攻擊的機率就更低了
如果再搭配上二階段認證,要臨時在外面連回NAS,不失為一個替代方案

2. 不用安裝有的沒的軟體
從頭到尾就都透過SSH這個基本的指令,不需要去管FW上面怎麼設定

缺點

1. 連線頻寬、速度受限
因為連線路徑的改變,所以速度明顯會降低

2. 網址不固定
如果是使用localhost.run的免費服務,那個網址是不固定的
而且只會存在幾個小時,也就是說幾個小時候,這個網址就無法存取了
(不過我昨天測試,一直連線到現在,我的網址都還活著,不知道規則是啥..)
當然,你可以付費申請固定網址,各家業者收費標準不一
localhost.run 最低是3.5 美金一個月吧
如果有付費,那就可以把指令寫入到NAS,開機自動執行
就可以在外面用這串網址連線了

其實我覺得,或許S&Q&A 可以考慮自己弄這種服務
買NAS 就送基本的ssh tunnel service
免費的就用機器的mac或SN作為hostname , 然後只開放受限的頻寬、速率
付費的用戶,就依照等級調高頻寬、速率,然後可以自訂hostname
只是這種服務很吃伺服器的頻寬,這是一筆不小的固定沉沒成本
要從付費用戶收到足夠的費用來cover,我想很困難
然後廠商還要維護這台伺服器,廠商願意這樣做嗎?
而且我已經買NAS了,還要我額外付費換取「更安全」的服務?
那我買NAS幹嘛?我去買google/dropbox/backblaze不就好了?

其實我還有另外一種想法,可以結合SDN,建立一組專屬用戶的VPN
vpn走wireguard方案,外部機器要連線進來,需要使用者允許
不過這個牽涉的就更廣了,就先不提了吧

最近FB那邊跟戰場沒兩樣,還是來這邊比較能夠好好討論
不知道各位對於這樣的作法有沒有什麼想法?

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 8.210.138.12 (新加坡)
PTT 網址

tomsawyer 04/30 11:27嗯...應該沒有人會用吧 網址不固定=無用 其實s a都

tomsawyer 04/30 11:27有自己的反打洞服務 官網連過去的就是

BDrip 04/30 11:59s官方的反打洞 頻寬給家用很夠用了..id打長一點應該

BDrip 04/30 11:59很難掃到?

chang0206 04/30 12:11quickconnect 是利用UPNP達成的吧?

BDrip 04/30 12:25沒有喔 port , QC 偵測到port有開會轉直連 , 沒有才

BDrip 04/30 12:25會relay

BDrip 04/30 13:04碰到特殊網路擋很多port時還能連

sachialanlus04/30 14:44感覺frp比較好用 可以穿nat直連

B0988698088 04/30 18:19synology的https管理頁面是5001,直接打443會打到

B0988698088 04/30 18:19它架網頁用的web station https

B0988698088 04/30 18:19至於5000則是走http的管理頁面

B0988698088 04/30 18:22倒數第三段觀念錯誤 你買金庫放了錢 本來就要花成

B0988698088 04/30 18:22本另外設保全崗哨 不然被偷了還去怪這個金庫不知道

B0988698088 04/30 18:22要長腳躲強盜 邏輯完全說不通

tomsawyer 04/30 18:49quickconnect跟myqnapcloud在沒有直接對外時 官方

tomsawyer 04/30 18:49會幫你打洞 所以呢 完全多此一舉

tomsawyer 04/30 18:50Q是8080/443 S是5000/5001

twnuu 04/30 19:14幫你推,但我是在前端掛一台居易,就可以做vpn serv

twnuu 04/30 19:14er,比較簡單省事

twnuu 04/30 19:16雖然我nas有把8080改掉,但是Q的問題是那個備份套件

twnuu 04/30 19:16HBS3的漏洞

ragwing 04/30 23:05直接frp做STCP不就好了…

TPE5566 05/09 18:21你把外對內都封掉 然後用quickconnect就好了