我在 AWS 中构建了一个新的 Ubuntu 服务器。现在由于某种原因,我在其他 Ubuntu 服务器上工作的私钥对她不起作用了。auth.log 中的错误是
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
这只是 Putty 的问题,如果我尝试通过 Linux 工作站进行日志记录,任何机器都不会出现任何问题。
我看到的区别是新服务器是
Ubuntu 22.04.1 LTS 运行OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
工作(旧)服务器是
Ubuntu 20.04.4 LTS(Focal Fossa)运行OpenSSH_8.2p1 Ubuntu-4ubuntu0.4, OpenSSL 1.1.1f 31 Mar 2020
此版本的 OpenSSH 有什么变化吗?如何让腻子再次工作?
我正在尝试使用 OpenConnect 连接到我公司的 Cisco VPN (AnyConnect)
连接似乎工作得很好,我不明白的是如何设置路由。我正在从命令行执行此操作。
我使用默认的 VPN 脚本进行连接,如下所示:
openconnect -u MyUserName --script path_to_vpnc_script myvpngateway.example.com
Run Code Online (Sandbox Code Playgroud)
我输入了密码,并且连接正常,但是我的默认路由已更改为强制所有流量通过 VPN 链接,而我只希望公司流量通过 VPN 链接。
是否需要将一些变量放入 vpnc 脚本中?目前还不是很清楚这是如何完成的。
有人可以解释为什么这个脚本没有产生我期望的输出吗?
#!/bin/bash
#
var=0
ls -1 /tmp| while read file
do
echo $file
var=1
done
echo "var is $var"
Run Code Online (Sandbox Code Playgroud)
我得到一个文件列表,然后是 var is 0
为什么 var 不等于 1?是不是因为 while 循环产生了一个子壳?
我在 Fedora Workstation 21 上运行 KDE。
当我暂停后唤醒我的机器时,它总是提示我输入密码。
如果有什么办法可以禁用它?我查看了设置,但看不到这是如何完成的。
全新安装 CentOS 8,在执行几乎任何 dnf 命令时都会收到以下错误。例如,在 yum remove 上我得到:
# yum remove
Modular dependency problems:
Problem 1: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBD-MySQL:4.046:8010020191114030811:073fa5fe-0.x86_64
Problem 2: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBI:1.641:8010020191113222731:16b3ab4d-0.x86_64
Problem 3: conflicting requests
- nothing provides module(nginx) needed by module php:7.2:8010020191114034540:2430b045-0.x86_64
No packages marked for removal.
Run Code Online (Sandbox Code Playgroud)
我不确定这是如何开始的,可能是在我安装 MariaDB 之后。我已经卸载了它,但错误仍然存在。我需要在继续之前解决此错误,因此我不介意删除任何软件包来执行此操作。
我不太确定它指的是什么。我的系统上没有安装 perl-DBD perl-DBI 或 php。
我有一个类似这样的脚本:
for chain in http https ssh
do
iptables -nvxL $chain | tail -1 | awk '{print $2}'
done
Run Code Online (Sandbox Code Playgroud)
但我实际上想做的是将iptables每次迭代的命令输出捕获到不同的变量中,其名称应该等于 的当前值chain。
因此,对于第一次循环迭代(其中$chain是http),我希望发生这种情况:
http=$(iptables -nvxL http | tail -1 | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)
然后接下来我想要这个:
https=$(iptables -nvxL https | tail -1 | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)
希望您明白这个想法,但不知道如何做到这一点。
我有一个自签名的根 CA 证书和密钥
我正在尝试创建一个将由该 CA 签名的服务器证书
以下是我采取的步骤:
1) 生成服务器密钥
openssl genrsa -out server.key 2048
2) 生成指定 365 天的签名请求
openssl req -new -key server.key -out server.csr -days 365 -sha256
3) 使用自签名 CA 对请求进行签名
openssl x509 -req -in server.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out server.crt -sha256
当我按如下方式检查我新创建的证书时:
openssl x509 -noout -text -in server.crt
我可以在输出中看到这一点:
Validity
Not Before: May 8 14:19:44 2017 GMT
Not After : Jun 7 14:19:44 2017 GMT
我不确定我在这里做错了什么?为什么即使我指定了 365 天,它也不创建具有正确到期日期的证书?
我想使用 lsyncd 将某些文件从一个 Linux 系统同步到另一个 Linux 系统。这些文件并不局限于一个目录,我也不想要一个目录中的所有文件。
具体来说,我试图确保某些邮件服务器文件与备用服务器保持同步。这是一个列表:
/etc/postfix/master.cf
/etc/postfix/main.cf
/etc/postfix/blocked_senders
/etc/postfix/relay_recipients
/etc/mail/spamassassin/local.cf
我可以通过某种列表在单个同步节中指定所有这些文件,还是需要在单独的同步节中配置每个单独的文件?