我在 Proxmox 5.2-11 下运行 Ubuntu 16.04 容器。应用最新一轮的补丁1 后,我无法在控制台或通过 ssh 登录。
我在虚拟机管理程序上安装了容器根 FS 并添加pts/0到/etc/security/access.conf(我们运行pam_access)并允许 root 登录到控制台。我们已经root : lxc/tty0 lxc/tty1 lxc/tty2在access.conf,我认为是足够的,为什么我需要pts/0现在是令人费解。
我注意到 ssh 没有运行,所以尝试手动启动它 ( /usr/sbin/sshd -DDD -f /etc/ssh/sshd_config) 并收到此错误:
Missing privilege separation directory: /var/run/sshd
Run Code Online (Sandbox Code Playgroud)
我手动创建了目录,启动ssh并最终能够登录,但是重新启动后,问题仍然存在。未创建目录。只有有用的位journalctl和唯一有趣的部分是关于“不允许操作”但没有更多信息。
我对 16.04 不太熟悉,所以想知道如何找到有关该问题的更多信息。我没有/var/log/syslog或/var/log/messages只有kern.log这样的失落。
systemd-sysv 229-4ubuntu21.9
libpam-systemd 229-4ubuntu21.9
libsystemd0 229-4ubuntu21.9
systemd 229-4ubuntu21.9
udev 229-4ubuntu21.9
libudev1 229-4ubuntu21.9
iproute2 4.3.0-1ubuntu3.16.04.4
libsasl2-modules-db 2.1.26.dfsg1-14ubuntu0.1
libsasl2-2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 ansible(和ssh-keygen)在少数远程服务器上重新生成 ssh 主机密钥,但文件似乎没有出现。剧本运行正常,但遥控器上的文件没有改变。
我需要求助于echo -e黑客,因为这些遥控器运行的是 Ubuntu 14.04 并且没有python-pexpect可用的正确版本(根据 ansible)。
我错过了什么?我的剧本和输出如下:
剧本
---
- hosts: all
become: true
gather_facts: false
tasks:
- name: Generate /etc/ssh/ RSA host key
command : echo -e 'y\n'|ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C "" -N ""
register: output
- debug: var=output.stdout_lines
- name: Generate /etc/ssh/ DSA host key
command : echo -e 'y\n'|ssh-keygen -q -t dsa -f /etc/ssh/ssh_host_dsa_key -C "" -N ""
register: output
- debug: var=output.stdout_lines
- …Run Code Online (Sandbox Code Playgroud) 每隔一段时间,我就会不小心将一些控制代码注入到我的终端会话中(要么是错误的编码,要么是意外的gpg --export)。这有时会导致我的 tmux 会话丢失其格式并将控制字符打印到 tmux 窗口的边框中。之后所有 tmux 窗口都变得非常混乱。即使只是聚焦一个窗口也会弄乱其他窗口。终端的传统重置技巧(reset、echo [CTRL]+V [CTRL]+C)无法修复它,因此我最终注销了所有活动会话并必须重新启动 tmux。
有人知道一种在不终止 tmux 的情况下重置/刷新所有 tmux 窗格的方法吗?
我曾经使用以下命令从 LDAP 下载我的服务器 SSL 证书,以便将它们添加到 tomcat/java 密钥库:
openssl s_client -connect 10.140.136.192:636
由于 LDAP SSL(端口 636)已被弃用,我不再有可用的端口 636。我试图找到openssl s_client诸如此类的各种咒语-starttls,-tls1_2但是它们都没有产生证书。什么是魔术词来做到这一点?
今天和昨天,我的服务器自动重启,在启动过程中无法启动网络设备。如果我再次重新启动机器,它就会正常启动,在过去的 2 个月里我也没有遇到任何问题。
我能找到的与此相关的唯一错误日志是:
Aug 23 06:37:14 server systemd[1]: Started ifup for ens16.
Aug 23 06:37:14 server systemd[1]: ifup@ens16.service: Main process exited, code=exited, status=1/FAILURE
Run Code Online (Sandbox Code Playgroud)
和
Aug 23 06:37:14 server sh[281]: iptables-restore: line 10 failed
Aug 23 06:37:14 server systemd[1]: ifup@ens16.service: Main process exited, code=exited, status=1/FAILURE
Aug 23 06:37:14 server sh[281]: run-parts: /etc/network/if-pre-up.d/iptables exited with return code 1
Aug 23 06:37:14 server sh[281]: ifup: failed to bring up ens16
Run Code Online (Sandbox Code Playgroud)
/etc/network/if-pre-up.d/iptables 包含:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.up.rules
Run Code Online (Sandbox Code Playgroud)
/etc/iptables.up.rules 包含:
*filter
:INPUT ACCEPT [0:0] …Run Code Online (Sandbox Code Playgroud) 我正在尝试从文件中读取远程主机上的数据库密码/etc/mysql/debian.cnf。文件格式如下。有没有办法解析该password字段,以便我可以通过 Ansible 删除 mysql 用户?
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = root
password = 5unnyv4l3
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = 5unnyv4l3
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Run Code Online (Sandbox Code Playgroud) 我在监听 cisco 交换机的 SPAN 端口时哼了一声。我希望能够在我的网络服务器上添加一个 iptables DROP 规则以用于特定的 snort 警报,但很难找到确切的方法。我希望阻塞实时发生,而不是通过 cron 启动脚本来定期拖网 snort 日志。
我在 Seclists 上找到了一个示例,它使用 syslog-ng 运行 shell 脚本,但它必须用于旧版本的 syslog-ng,因为我在重新启动 syslog-ng 时收到有关不推荐使用的语法的错误。
我对 syslog-ng 过滤器了解不多,因此我打算对此进行更多研究,因为它看起来很有希望,但我想我会在这里提出问题,以防有更好的方法。当 snort 警报通过我的 snort 框的 SPAN 端口时,运行 shell 脚本的好方法是什么?
我有一个 3ware 9650-SE 控制器,带有 2 个 RAID-1 配置的驱动器。“端口 1”上的驱动器有错误,但驱动器笼没有标记。我尝试使用 cli 来“识别”驱动器,但 tw_cli 只是吐出“N/A”。我认为这可能会使驱动器活动 LED 闪烁,但不会:
# tw_cli /c7/p1 set identify=on
Setting port Identify on /c7/p1 to [on] ... N/A
Run Code Online (Sandbox Code Playgroud)
如何闪烁单个端口的驱动器活动以找出阵列中的哪个驱动器是坏的?
更新:我在域的 DNS 中的 SPF 记录mailinglist.com:
mailinglist.com. 3600 IN TXT "v=spf1 mx ptr include:gateway.com ?all"
UPDATE2:在From:,Reply-To:,Sender:并Return-Path:从失败的消息头:
...
From: "bob" <bob@somewhere.org>
Reply-To: <list1@my.mailinglist.com>
Sender: <list1-request@my.mailinglist.com>
List-Post: <mailto:list1@my.mailinglist.com>
Return-Path: list1-owner@my.mailinglist.com
...
Run Code Online (Sandbox Code Playgroud)
我从以前的管理员那里继承了一个Sympa邮件列表服务器,对整个过程不是很熟悉。最近,我们接到一些用户的电话,称他们在各种邮件列表中的帖子被标记为欺诈检测检查失败。
我一直在阅读SPF并怀疑发生的事情是当用户 (bob@somewhere.org) 发布到列表 ( my.mailinglist.com) 时,来自列表服务器的出站消息将信封发件人设置为“bob@somewhere.组织”。然后,我们的列表服务器将传出消息中继mail.gateway.com,然后通过 Internet 将其传送到该消息。当某个mail.gateway.comwhere.org (或其他域)的 SMTP 服务器收到该帖子时,它会看到它是由我们的中继(13.14.15.16)发送的,该中继在某个where.org 的 SPF 记录中没有它的 IP 地址。
在从 发送的出站邮件的邮件标头中mail.gateway.com,我有一个 SPF 行,内容如下:
Received-SPF: SoftFail (mail.gateway.com: domain of
transitioning …Run Code Online (Sandbox Code Playgroud) 第一次设置 Galera (Ubuntu 14.04),在重新启动节点后我无法重新启动集群。我正在遵循本指南,它并没有完全提到如何处理关机或重启(对于内核补丁、管理程序更新、日常维护)。
我在这里找到了一些信息,它解释了如何找到“safe_to_bootstrap”节点,但我认为这是描述一个崩溃的节点。上面的链接将其描述为一个崩溃的节点,但似乎没有什么恢复的运气:
# cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid: a4f9af07-f235-11e7-a0c0-233dd732dc29
seqno: -1
safe_to_bootstrap: 1
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试启动该节点时,出现以下错误daemon.log:
`WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)`
Run Code Online (Sandbox Code Playgroud)
关闭集群的最佳方法是什么,如何安全地重新启动它?我假设习惯reboot命令不足以干净地关闭 Galera 集群。