Title: ssh 隧道 · Issue #129 · codcodog/Blog · GitHub
Open Graph Title: ssh 隧道 · Issue #129 · codcodog/Blog
X Title: ssh 隧道 · Issue #129 · codcodog/Blog
Description: ssh 隧道 ssh 隧道,或者叫 ssh 端口转发,主要有三种类型: 本地端口转发 远程端口转发 动态端口转发 本地端口转发 本地端口转发可以将本地(ssh 客户端)计算机上的端口请求转发到服务器端(ssh 服务端), 再由服务器端转发到目标机器的端口上. ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER 远程端口转发 远程端口转发与本地端口转发相反,是将 ssh 服...
Open Graph Description: ssh 隧道 ssh 隧道,或者叫 ssh 端口转发,主要有三种类型: 本地端口转发 远程端口转发 动态端口转发 本地端口转发 本地端口转发可以将本地(ssh 客户端)计算机上的端口请求转发到服务器端(ssh 服务端), 再由服务器端转发到目标机器的端口上. ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SS...
X Description: ssh 隧道 ssh 隧道,或者叫 ssh 端口转发,主要有三种类型: 本地端口转发 远程端口转发 动态端口转发 本地端口转发 本地端口转发可以将本地(ssh 客户端)计算机上的端口请求转发到服务器端(ssh 服务端), 再由服务器端转发到目标机器的端口上. ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SS...
Opengraph URL: https://github.com/codcodog/Blog/issues/129
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"ssh 隧道","articleBody":"ssh 隧道\r\n=========\r\n\r\n`ssh` 隧道,或者叫 `ssh` 端口转发,主要有三种类型:\r\n- 本地端口转发\r\n- 远程端口转发\r\n- 动态端口转发\r\n\r\n\r\n### 本地端口转发\r\n\r\n本地端口转发可以将本地(`ssh` 客户端)计算机上的端口请求转发到服务器端(`ssh` 服务端), \r\n再由服务器端转发到目标机器的端口上.\r\n\r\n```\r\nssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER\r\n```\r\n\r\n\r\n### 远程端口转发\r\n\r\n远程端口转发与本地端口转发相反,是将 `ssh` 服务器端侦听的端口请求转发到本地(`ssh` 客户端)计算机, \r\n再由本地计算机转发到目标机器的端口上.\r\n\r\n```\r\nssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER\r\n```\r\n\r\n\r\n### 动态端口转发\r\n\r\n动态端口转发可以充当一个简单的 `socks` 代理服务器. \r\n当客户端连接到该端口时,连接将转发到服务器端(`ssh` 服务端),再由服务器端转发到目标计算机上的端口.\r\n\r\n```\r\nssh -D [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER\r\n```\r\n\r\n例如,在端口 `1080` 创建 `socks` 隧道,再配置好 `SwitchyOmega`,就可以愉快地爬梯子了.\r\n```\r\n$ ssh -D 1080 -N -f user@server\r\n```\r\n\u003e -N 不要执行远程命令 \r\n\u003e -f ssh 命令后台运行\r\n\r\n\r\n### 应用场景\r\n\r\n有 A, B, C 三台服务器,其中 A, C 网络不通,而 A, B 可以连接,B, C 网络也可以连接.\r\n\r\n在 A 服务器上有个程序 a\r\n```\r\n$ curl localhost:8080/a\r\nHello World.\r\n```\r\n\r\n若要 C 服务器也能访问 A 服务上的程序 a,则需要通过 B 服务器进行中转.\r\n\r\n在 A 服务器上进行远程端口转发\r\n```\r\n$ ssh -R 8080:127.0.0.1:8080 -N -f root@B\r\n```\r\n这个命令就是将 B 服务器上 8080 端口的请求转发到 A 服务器上,然后 A 再转发到 `127.0.0.1:8080`.\r\n\r\n这样 C 通过 B 服务器就可以访问到 A 上的程序 a 了\r\n```\r\n$ curl http://B:8080/a\r\nHello World.\r\n```\r\n\r\n**注意** \r\n若端口转发失败,则 `ssh` 服务器端 `/etc/ssh/sshd_config` 需要配置 `GatewayPorts` 为 `yes`,再重启 `ssh`\r\n```\r\n$ systemctl restart sshd.service\r\n```\r\n\r\n### 参考\r\n[如何设置SSH隧道](https://www.myfreax.com/how-to-setup-ssh-tunneling/)\r\n","author":{"url":"https://github.com/codcodog","@type":"Person","name":"codcodog"},"datePublished":"2021-05-08T15:23:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/129/Blog/issues/129"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c612102c-f768-3a71-06c5-8faadfce3aee |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8C78:3F11E1:A87390:E4285E:6A4C4CFD |
| html-safe-nonce | 34f0d52e59201971217084a459cba4cad96cde942d2b83df5e973ca24a7732a5 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4Qzc4OjNGMTFFMTpBODczOTA6RTQyODVFOjZBNEM0Q0ZEIiwidmlzaXRvcl9pZCI6IjYzMDgxNDY3NzI5NzY2MTg3NDkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | fc5bee984e0a6c9be109302937d41f0a65395a0f44d60e91511266a5a8ab4c4e |
| hovercard-subject-tag | issue:880950498 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/codcodog/Blog/129/issue_layout |
| twitter:image | https://opengraph.githubassets.com/48e1a6834d50cfdfd40daab1fab655b1820148dea425ce10600040d53664d2fe/codcodog/Blog/issues/129 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/48e1a6834d50cfdfd40daab1fab655b1820148dea425ce10600040d53664d2fe/codcodog/Blog/issues/129 |
| og:image:alt | ssh 隧道 ssh 隧道,或者叫 ssh 端口转发,主要有三种类型: 本地端口转发 远程端口转发 动态端口转发 本地端口转发 本地端口转发可以将本地(ssh 客户端)计算机上的端口请求转发到服务器端(ssh 服务端), 再由服务器端转发到目标机器的端口上. ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SS... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | codcodog |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-preview |
| go-import | github.com/codcodog/Blog git https://github.com/codcodog/Blog.git |
| octolytics-dimension-user_id | 18098145 |
| octolytics-dimension-user_login | codcodog |
| octolytics-dimension-repository_id | 75478736 |
| octolytics-dimension-repository_nwo | codcodog/Blog |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 75478736 |
| octolytics-dimension-repository_network_root_nwo | codcodog/Blog |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 65d78903193f110d7a9d1f8587c6dc3cb911aae0 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width