小编Luc*_*sca的帖子

ssh 配置文件环境变量?

在我的管理工作期间,我需要登录到几个远程 ssh 服务器。我使用三台不同的计算机客户端,它们都是 Debian GNU/Linux 系统。我保留了一个工作区目录,用于放置我完成工作所需的所有内容,该目录包含一个bashrc文件和一个ssh_config文件等。

rsync当我移动并开始使用不同的客户端时,我使用脚本手动同步该目录内容,该脚本从一台客户端计算机使用到另一台客户端计算机。

这三个客户端中的每一个上的本地用户都需要最少的配置,因此如果我需要创建一个新的本地用户或重新安装一个客户端,我只需要rsync到工作区并workspace/bashrc在真实用户的$HOME/.bashrc. 我的自定义workspace/bashrc创建了几个别名,无论我使用什么客户端,我都会得到我通常的环境。

我的自定义workspace/bashrc创建别名以这种方式连接到远程服务器:

alias s1='ssh -F ~/workspace/etc/ssh_config server1.example.com'
Run Code Online (Sandbox Code Playgroud)

并且我只需s1在任何客户端的终端中键入即可登录 server1 ,因为我的自定义ssh_config设置了所需的公钥身份验证选项、正确的端口 server1 正在侦听和正确的用户。

现在这就像一个魅力,只要ssh命令是我需要的。不幸的是,一旦我需要另一个使用 的命令ssh,事情就会变得更加混乱。

例如,如果我需要对rsync其中一台服务器进行任何操作,我将不得不编写整个 ssh 命令:

rsync -Pavz --delete -e "ssh -F $HOME/workspace/etc/ssh_config" ...
Run Code Online (Sandbox Code Playgroud)

类似的事情发生在其他命令上,例如scp,ssh-copy-id和其他命令。

我希望能够写

rsync -Pavz --delete -e "ssh" ...
Run Code Online (Sandbox Code Playgroud)

相反,并让 ssh 从环境变量中获取它的配置文件名,以便我可以在我的bashrc每次ssh调用中设置该环境变量,并且每次调用都会自动工作。

是否有这样的环境变量或问题有不同的解决方案?

linux ssh bash environment-variables

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

Wireguard 未完成握手

我有两个 Debian GNU/Linux 系统(bullseye/sid),都在端口 23456 上运行wireguard,都在 NAT 之后。两者都运行内核版本 > 5.6(Wireguard 主线)。

系统 A 是服务器,它动态更新其 Internet 域的权威名称服务器中的专用“A 记录”,并为其面向 Internet 的路由器 A(ZyWALL USG 100 防火墙)分配了正确的公共 IP 地址。它每分钟执行一次,但公共 IP 地址实际上仅在路由器/防火墙重新启动时更改,这基本上不会发生。

系统 B 位于 VDSL 路由器 B 后面,它充当有线保护客户端,指向动态更新的“A 记录”和端口 33456。路由器 B 是消费级 VDSL 路由器,它允许出站方向的所有内容,仅回复入站。

路由器/防火墙 A (ZyWALL USG 100) 被配置为允许端口 23456 上的 UDP 数据包通过它并将它们转发到服务器 A。这是相关的配置屏幕:

ZyWALL USG 100 Wireguard-behind-NAT 配置

这是服务器 A 线保护配置文件(此代码段中的密钥尽管有效,但不是真实的):

[Interface]
Address = 10.31.33.100/24, fc00:31:33::1/64
ListenPort = 23456
PrivateKey = iJE/5Qy4uO55uUQg8nnDKQ/dFT1MEq+tDfFXrGNj3GY=
# PreUp = iptables -t nat -A POSTROUTING -s 10.31.33.0/24  -o enp1s0 -j MASQUERADE; ip6tables …
Run Code Online (Sandbox Code Playgroud)

firewall nat zyxel wireguard

5
推荐指数
2
解决办法
2万
查看次数

Nginx 作为反向代理不缓存

我正在尝试将 Nginx 配置为缓存反向代理。源服务器是 Apache,它托管一个 WordPress 实例,如果这很重要的话。

反向代理功能按预期工作,但缓存似乎不起作用。如果我连续两次获得相同的静态资源,我就会获得x-proxy-cache: MISS两次。

assodigitale.it 是域,138.201.87.123 是源服务器 IP 地址,138.201.87.124 是 Nginx 代理 IP 地址。

源服务器似乎回复允许代理缓存资源:

$ curl --connect-to ::138.201.87.123:443 --http2 -I https://assodigitale.it/wp-content/uploads/2018/03/aereo.jpg
HTTP/2 200 
date: Sun, 11 Mar 2018 20:59:39 GMT
server: Apache/2.4.25 (Debian)
content-length: 32989
strict-transport-security: max-age=31536000; includeSubdomains; preload
last-modified: Wed, 07 Mar 2018 09:34:41 GMT
etag: "80dd-566cf44ca2952"
accept-ranges: bytes
vary: Accept-Encoding
cache-control: max-age=1209600, public
x-content-type-options: nosniff
content-type: image/jpeg
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,对代理服务器的第一个请求会导致 MISS:

$ curl --connect-to ::138.201.87.124:443 --http2 -I https://assodigitale.it/wp-content/uploads/2018/03/aereo.jpg
HTTP/2 200 
server: nginx/1.13.9
date: …
Run Code Online (Sandbox Code Playgroud)

nginx cache reverse-proxy

2
推荐指数
1
解决办法
3494
查看次数