公司政策要求安全存储一些 ssh 密钥,例如存储在专用 USB 设备上。使用 gnupg 和 来使用未存储在主机上的密钥可以完美地工作enable-ssh-support,即使使用多个密钥时也是如此:
Host example.com
HostName ssh.example.com
IdentityFile ~/.ssh/smartcard.pub
Host example.net
HostName git.example.net
IdentityFile ~/.ssh/another-smartcard.pub
Host example.org
HostName sftp.example.org
IdentityFile ~/.ssh/id_rsa.pub
IdentitiesOnly yes
PasswordAuthentication no
PubkeyAuthentication yes
Run Code Online (Sandbox Code Playgroud)
但是,当拔掉硬件时,gpg 会从代理中删除密钥,随后的 ssh 调用会导致:
Enter passphrase for key '/home/user/.ssh/smartcard.pub':
Run Code Online (Sandbox Code Playgroud)
这看起来很奇怪,因为 ssh 和 ssh-agent 都应该清楚该文件仅包含公钥。如果 ssh 无法访问指定的密钥,是否有一种好方法可以让 ssh 详细失败,而不是要求输入(毫无意义的)密码?
不完整的解决方案:
IdentitiesOnly- ssh 然后将按预期尝试所有可用密钥- 但会导致服务器限制每个会话的身份验证尝试出现问题alias ssh='grep ^4096 <(ssh-add -l)' && ssh'- 有效,但如果有人想找出他的 ssh 设置被破坏的原因,则会引起头痛我需要覆盖systemd模板的ExecStartParameter。我已经确认单元文件存在并通过验证。添加unique-name@.service.d/override.conf文件在某些机器上运行良好:
user@prod-west-1604$ systemctl --version | head -1
systemd 229
user@prod-west-1604$ file -b /etc/systemd/system/unique-name@.service
symbolic link to /lib/systemd/system/nginx.service
user@prod-west-1604$ sudo systemctl edit unique-name@.service
# (opens editor as expected)
Run Code Online (Sandbox Code Playgroud)
但是,在运行较新 systemd 版本的机器上,操作失败:
user@prod-east-1810$ systemctl --version | head -1
systemd 239
user@prod-east-1810$ file -b /etc/systemd/system/unique-name@.service
symbolic link to /lib/systemd/system/nginx.service
user@prod-east-1810$ sudo systemctl edit unique-name@.service
Failed to get the load state of unique-name@.service: Unit name unique-name@.service is neither a valid invocation ID nor unit name.
Run Code Online (Sandbox Code Playgroud)
为什么 …
从我的本地网络发送电子邮件一切顺利。还可以通过 Thunderbird 或使用本地安装的 Roundcube 进行远程操作。但现在,我在亚洲,尝试使用 Thunderbird 发送电子邮件。日志中出现以下错误:
postfix/submission/smtpd[4588]: NOQUEUE: reject: RCPT from unknown[110.170.163.146]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [110.170.163.146]; from=<<me>@<mydomain.com>> to=<<me>@<mydomain.co>> proto=ESMTP helo=<[10.10.3.55]>
Run Code Online (Sandbox Code Playgroud)
dig +short -t A mail.<mydomain.com> 给出:xxx.xxx.xxx.xxx,我的服务器的 IP。
dig +short -x 110.170.163.146 给出:110-170-163-146.static.asianet.co.th。在这里你可以看到,我现在在泰国。
在雷鸟我有:
Server Name: mail.<mydomain.com>
Port: 587
Connection security: STARTTLS
Authentication method: Normal password
Username: <me>@<mydomain.com>
Run Code Online (Sandbox Code Playgroud)
master.cf 中的所有 smtpd 行:
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_tls_wrappermode=no
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o smtpd_sasl_auth_enable=yes
-o …Run Code Online (Sandbox Code Playgroud) 当我dig whoami.akamai.net AAAA在我的电脑上做的时候,我得到了
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32160
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;whoami.akamai.net. IN AAAA
Run Code Online (Sandbox Code Playgroud)
但是,如果我从 @1.1.1.1 或 @8.8.8.8 甚至 OpenDNS 尝试,我可以获得 AAAA RR。
什么阻止我的本地挖掘没有得到结果?
根据 RFC4074 ( https://tools.ietf.org/html/rfc4074#section-3 ):
假设权威服务器有一个 A RR 但没有主机名的 AAAA RR。然后,服务器应返回对该名称的 AAAA RR 查询的响应,响应代码 (RCODE) 为 0(表示没有错误)并且答案部分为空(参见 RFC 的 4.3.2 和 6.2.4 节) 1034)。这样的响应表明,对于所查询的名称,至少有一个与 AAAA 类型不同的 RR,然后存根解析器可以查找 A …
我们一直在使用内部部署的 Team Foundation Server v. 15.117.27414.0.
一切正常,除了在项目的门户网站上,在代码页(代码浏览器)上,git 存储库中的所有文件都没有出现。例如,我们有一个 MVC 项目,里面有一个 Models 文件夹,有 11 个类,但是只有 7 个出现在网页中。项目的显示方式还有其他问题。例如,有两个同名的项目文件夹(一个字符大小写不匹配),内容相似,实际上应该有一个。
所有这些都令人困惑。否则,一切正常。我们可以克隆项目或将其下载为 zip 文件,所有文件都在那里。它只是混淆了它在 TFS 门户中的“代码”选项卡下的显示方式。
spamhaus.org 正在阻止我们的 IP,因为我们使用多个域名从单个 IP 发送邮件。
消息是
使用 aaa.bbb.ccc.ddd 的设备(计算机、服务器、移动电话等)或设备上的应用程序受到感染、严重配置错误或受到损害。它正在端口 25 上与多个不相关的 HELO 值建立 SMTP 连接。
最近的检测时间为:2022 年 5 月 18 日,10:20:00 UTC(+/- 5 分钟)。观察到的 HELO 值为 xxx yyy zzz ,...
我们有很多不同的电子邮件域(一个客户 = 一个域),并且所有电子邮件都是从同一 IP 发送的(使用同一互联网网关的多个不同服务器)。
我们应该如何处理这个用例?我们目前在多个服务器上使用 exim4 作为邮件服务器。