ssh頭腦體操
Update: 允許ssh server直接bind client端的風險在於,一旦有人去「踹」server的port,所有被踹的力道都會原封不動地經由secure tunnel打回client門口,因此在把server端的sshd_config給拆封前,最好還是確定會用你機器的人,知道自己在幹什麼。
一向覺得讀ssh的manual page有如在做智力測驗,不過在某惡勢力暴力團長輩(which is not a very appropriate metaphor)的指點下,算是終於打通了任督二脈(which is)。
ssh -L 的用法是,把想要對外發出的資料,透過secure tunnel先發到server端,再由server轉發(forward)到指定機器的指定port上(click to enlarge):
ssh -R 則是反過來,讓server端聽一個port,然後把聽來的資料,透過secure tunnel傳回ssh client,再由ssh client轉發到指定機器的指定的port上。因此,範例中 ssh -R 第一個三明治參數裡的 localhost,是從 ssh client 這邊來看的,是指 blah.org 而不是 server.org(click to enarlge):
但是,sshd預設值是不允許sshd這樣bind的。sshd_config裡有這麼一行:
#GatewayPorts no
雖然註解了起來,預設值其實就是關著的。把它打開,才能夠使用 ssh -R。Be sure to know what you’re doing though. :)
lukhnos :: May.26.2006 :: tekhnologia 技術或者藝術 :: 4 Comments »
4 Responses to “ssh頭腦體操”
[...] 今天看了lukhnos’s blog,終於了解了 ssh -L 與 -R 的差別。 [...]
[...] ssh頭腦體操 (tags: Tech Security SSH) [...]
[...] ssh頭腦體操 [...]
[...] SSH 頭腦體操 (1) (2) (3) [...]