V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  uncat  ›  全部回复第 12 页 / 共 23 页
回复总数  458
1 ... 8  9  10  11  12  13  14  15  16  17 ... 23  
2021-05-14 11:43:45 +08:00
回复了 saytesnake 创建的主题 程序员 无外网的内网机器,如何正确实现内网穿透?
基于 SSH 即可.
1. 配置 B 基于密钥 SSH 登陆
2. 配置 A 基于密钥 SSH 登陆
3. 添加如下配置到如下路径的文件最前面:`~/.ssh/config`, 请根据具体情况更新尖括号内的内容

Host database
User <A 的用户名>
HostName <A 的内网 IP 地址>
ProxyJump <B 的用户名>@<B 的公网 IP 地址>
LocalForward 127.0.0.1:13306 127.0.0.1:3306

4. 打开两个命令行窗口
5. 在窗口 1 执行: `ssh database`,保持窗口 1 登陆连接的状态. 在窗口 2 执行: `nc -vz localhost 13306`
6. 如果窗口 2 显示 connected. 就可以了
7. 你本地访问 13306 就等于访问 A 的 3306 了
2021-04-22 21:01:49 +08:00
回复了 mianwei 创建的主题 全球工单系统 微信还卖人手机号码?
巧了.
2021-03-28 12:34:32 +08:00
回复了 PUBG98k 创建的主题 分享创造 团队奋斗了 1 年,首个稳定版发布了 ToDesk
供参考的 SSH alias:

Host alias
User pi
Port 6003
HostName 127.0.0.1
PermitLocalCommand yes
LocalCommand $HOME/.bin/rdp remote-m4
ProxyJump [email protected]
LocalForward 127.0.0.1:3389 192.168.0.195:3389

这份配置需要根据你本地的具体情况. 调整好后才能用(仅供参考. 不能直接照搬). $HOME/.bin/rdp 是我本地的脚本. 内容大概是:

rdesktop -g 100% -K -m -M -P -z -x m -r sound:off -u jinmiaoluo -p ' ' -r clipboard:PRIMARYCLIPBOARD localhost:3389 &>/dev/null &
2021-03-28 12:26:20 +08:00
回复了 PUBG98k 创建的主题 分享创造 团队奋斗了 1 年,首个稳定版发布了 ToDesk
开源方案的思路:

Windows: FRP + SSH + RDP
Linux: FRP + SSH + VNC

1. FRP 暴露内网 SSH 到公网服务器上.
2. 公网服务器用安全组保护内网 SSH 的端口.
3. 本地用 SSH 的 ProxyJump 功能做公网服务器上的流量转发, 实现公网服务器上在不暴露内网 SSH 的端口的情况下, 实现安全的远程内网 SSH 登陆(安全性由公网服务器的公钥 /私钥验证来保证).

网络拓扑:
本地 <----公钥 /私钥验证 ----> 服务器 SSH 服务 <---- 转发流量 ----> 转发流量到服务器上的内网 SSH 端口

4. 实现远程 SSH 登陆后, 利用内网 SSH 服务将同在内网的其他主机的 RDP/VNC 端口转发到本地.

网络拓扑:
本地 <---- 私钥验证 ----> 内网的 SSH 服务(这里省略公网流量拓扑) <---- 转发流量 ----> 内网的设备

5. 阅读 OpenSSH 的 ssh_config 相关的 manual. 写一份 SSH alias 配置, SSH 读取本地的 `$HOME/.ssh/config` 中的 alias 配置, 调起本地的远程桌面管理程序. 发起对转发回来的 RDP/VNC 端口的访问. 完成.

最终效果:

在命令行执行一行命令 `ssh alias` 既可.

成本:
1. 内网 SSH 服务运行环境. 比如: 树莓派一台.
2. 一台公网可达的服务器. 构建 FRP 服务. 完善安全组.
3. 阅读 OpenSSH 的 ssh_config 相关的 manual. 授权 /转发 /本地打开远程管理程序并建立连接的所有操作都是通过 SSH 的 alias 配置来实现. 你需要看 SSH 的 LocalCommand / LocalForward 等功能的用法. 编写本地的 `$HOME/.ssh/config`, 提供对应的 alias 配置. 即可实现最终的效果.
Home: 基于 Arch Linux 的矿机 * 4 台 /基于 Arch Linux 的备份服务器 * 1
Work: 基于 Ubuntu 的云服务器 * 很多
Laptop: 基于 Arch Linux 的 ThinkPad * 1
2021-02-26 23:15:51 +08:00
回复了 mashaofeixxx 创建的主题 推广 回贴抽奖! 2021 NUC 黑果 下单抽牛年福袋
祝马老板新一年生意兴隆.
2021-02-13 08:56:06 +08:00
回复了 systemcall 创建的主题 问与答 想退学去做桌面运维,可行性怎样?
在此时此刻. 做效益最大的决定. 个人观点: 把文凭用所有你能想到的方法拿下来, 加油!
2021-02-10 14:23:25 +08:00
回复了 Paosin 创建的主题 职场话题 简历留邮箱还有邮箱歧视吗
在国外开发者中, 会见到有一部分人是自己维护邮件服务器的.
2021-02-02 13:22:06 +08:00
回复了 SWBMESSI 创建的主题 程序员 大家密码都是怎么存放的?
补充. 上面的回复是 MarkDown 语法. 复制粘帖到你的 MarkDown 编辑器内阅读即可.
可以考虑如下的方案:

假设你所有服务器默认的 SSH 端口都是 22. 且都只允许密钥验证. 并且确保你添加了你自己的公钥到下面提及的所有服务器内.
生产环境只有一台服务器公网暴露. 服务器的公网 IP 地址是 A.
你有另外的两台内网服务器, 对应的内网 IP 是 B 和 C. 这两台服务器的 22 端口只能通过内网 IP 访问. 公网 IP 不允许访问 22 端口.

添加如下配置到你本地的如下文件内(如果不存在, 请创建) `$HOME/.ssh/config`:

```ssh_config
Host jump
Username <username>
Port 22
Hostname A

Host host-b
User <username>
Port 22
Hostname B
PorxyJump jump

Host host-c
User <username>
Port 22
Hostname C
PorxyJump jump
```

你在本地, 通过执行:

```shell
ssh host-b
```

```shell
ssh host-c
```

就可以分别登陆 B 和 C 内网 IP 对应的服务器了.

优点:
简单. 不依赖其他服务.
安全. 只有一台设备的 SSH 服务暴露到了公网访问.
2021-01-07 15:19:41 +08:00
回复了 CatCode 创建的主题 信息安全 密码管理器 vs 密码规则?如何选择
1 ... 8  9  10  11  12  13  14  15  16  17 ... 23  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1228 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 18:08 · PVG 02:08 · LAX 10:08 · JFK 13:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.