小编jdm*_*jdm的帖子

没有root的VPN服务器(滩头阵地)?

如何在没有 root 的主机上设置 VPN 服务器?

我有以下限制:

  • 在服务器 A 上,我没有 root。我只能在我的主目录中操作。特别是,我也无法创建tun设备。
  • 在客户端 B 上,我拥有完全的控制权,可以安装我想要的东西。
  • SSH 端口转发 (-L/-R) 和 SOCKS 代理 (-D) 有效,但在我的情况下无效。我客户端上的软件使用许多不同的端口,所以我倾向于使用 SOCKS,但它也在内核级别运行,所以我无法说服它tsocks使用代理。可行的一件事是在 B 上的 VM 中运行我的客户端软件,然后对整个 VM 进行袜子化 - 但我真的不想走那条路。
  • 我不需要特权端口,所以 A 上的非 root 应该没问题。
  • 它不一定是“真正的”VPN,但精神上类似的东西就足够了。我在 B 上的进程应该能够与 A(和连接的设备)上的进程通信,就像它们在一台机器上一样,而无需重写它们。

我不相信有一种优雅的方法可以做到这一点 -正确的方法是询问 A 的管理员,或者将 B 插入同一个网络 - 但现在我只是好奇这是否可以作为证明的概念。

ssh-tunneling vpn

8
推荐指数
1
解决办法
2535
查看次数

将 ssh 输出传送到其他命令时使用键盘交互式身份验证

我想将 ssh 的输出通过管道传输到不同的命令。例如:

ssh myserver cat remote-file | diff local-file -
Run Code Online (Sandbox Code Playgroud)

问题是我的服务器要求输入密码,但我无法输入。(出于某种原因,服务器上不提供公钥身份验证。我无法更改这一点。)我收到“密码:”提示,但我键入的密钥被回显,并且没有传递给 ssh。如何让 ssh 获取密码?

注意我不是试图将密码通过管道传输到 ssh。我正在尝试通过管道传输 ssh 的输出,并像往常一样输入密码。

以防万一,我在 OS X 10.7 (Lion) 和标准终端上使用 bash。我没有设置可能导致这种情况的别名。我在不同的(Linux)系统上看到了同样的问题,所以我相信这不是我的设置所特有的。

bash ssh pipe

7
推荐指数
1
解决办法
1257
查看次数

Bash 将国际字符显示为转义序列

当我在 bash 命令行中按下某些键(例如德语变音符号)时,我会得到转义序列。例如,ß给我\303. 这些转义序列被视为单个字符,因此一个退格键会删除整个序列。该字符只是在命令行上显示错误,但它被正确解释,例如键入echo ß给出:

$ echo \303
ß
Run Code Online (Sandbox Code Playgroud)

我猜它有非 7 位 ASCII 字符的问题。然而,在其他所有地方,这些都可以正常工作。我可以在 vim 中使用它们或用 cat 显示它们,而且 unicode 字符也可以正常工作。

如何让 bash 正确显示这些字符?


作为记录,

TERM=xterm-256color
LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

从我的.inputrc:

set input-meta on      # Enable Meta input with eighth bit set
set meta-flag on       # Synonym for the above
set convert-meta off   # Do NOT strip the eighth bit
set output-meta on     # Enable Meta output with eighth bit set
Run Code Online (Sandbox Code Playgroud)

输出 stty -a

speed 38400 baud; rows …
Run Code Online (Sandbox Code Playgroud)

bash readline inputrc

7
推荐指数
2
解决办法
1539
查看次数

标签 统计

bash ×2

inputrc ×1

pipe ×1

readline ×1

ssh ×1

ssh-tunneling ×1

vpn ×1