如何对用于加密 SSH 私钥的密码短语强制实施密码短语策略?
我喜欢使用 PAMpam_pwquality
模块来强制用户帐户密码的复杂性,但我认为我不能将它与 SSH 密钥密码短语一起使用。
我正在传输远程主机上的数 TB 的数据。
目前我正在使用rsync -az
。最近我购买了一个大型外置硬盘 [USB-C,东芝];但它似乎比我的内置 SSD 慢。
在传输过程中,如何设置多阶段复制,从远程主机到内部 SSD 再到外部 SSD,以便只有内部 SSD 和外部 SSD 上都不存在的文件才会从远程主机传输?
仅供参考:不限于rsync
,远程主机是 Linux x86_64,本地主机是运行 macOS 15.2 的 Apple Macbook Pro 和 M3 Pro。
我正在使用 ubuntu 网络服务器,经常需要加载 apache 文件夹中的文件。通常我通过 SSH 会话使用 SFTP 客户端(如 filezilla 或 mobaterm)。每次我都需要运行 chown 和 chmod 命令来恢复文件和文件夹的所有权和权限,因为 apache 没有权限读取我用户的文件。
有什么方法可以强制文件创建需要特定的权限和所有权,或者像我这种情况的每个人在每次上传后都运行 chown/chmod?
如果我的术语有误,请原谅。多年来,我一直使用 PuTTy 通过 ssh 连接到各种框,然后使用 neovim 编辑文件。通常,当我退出 neovim 时,进入之前屏幕上显示的内容仍然存在。使用 Windows 终端时,我看到的是一个空白屏幕。
在大多数方面,Windows Terminal 似乎比 PuTTy 好得多,但尽管我搜索了很久,还是找不到设置或解决方案。许多人都坚信 WT 是 PuTTy 的绝佳替代品。
我想要获取 SFTP 服务器的主机密钥。
但是,我和 SFTP 服务器之间有一个经过身份验证的代理。我有关于该代理的以下详细信息:proxy_host
、和proxy_port
。proxy_user
proxy_password
我如何使用ssh-keyscan
/ssh
超越经过身份验证的代理?
我在我的 oracle linux 8 VM 中安装了 openssh-client 和 netcat。
我不想使用像 proxytunnel 或 corkscrew 这样的工具。
我尝试过的事情:
- 更改
After=network.target
为After=network-online.target
通过systemctl edit --full sshd.service
- 创建文件
/etc/systemd/system/sshd.service.d/network-online.conf
内容为
[Unit]
After=network-online.target
- 更改
After=network.target
为After=network-online.target
并添加Wants=network-online.target
通过systemctl edit --full sshd.service
每次 sshd.service 无法绑定到其 IP 地址时,第三次尝试都会有一个不同,当尝试 ssh 到 raspberry pi 时,它返回的不是通常的“连接被拒绝”,而是“kex_exchange_identification:读取:对等方重置连接”
我的目标是让我的树莓派在启动时成功启动 sshd.service。
我正在使用带有 NetworkManager 的 raspbian 12 bookworm 的 raspberry pi 1 b+。
@grawity 我希望它绑定到单独的地址,并且之前没有遇到过问题,以下是该命令的输出:
$ sudo systemctl list-dependencies --after network-online.target
network-online.target
● ├─networking.service
● ├─NetworkManager-wait-online.service
× ├─systemd-networkd-wait-online.service
● └─network.target
● ├─ifupdown-pre.service
● ├─networking.service
● ├─NetworkManager.service
● ├─systemd-networkd.service
● ├─wpa_supplicant.service
● └─network-pre.target
● └─ufw.service
@Jaromanda XI 需要能够配置 sshd_config 以进行密钥认证,我不明白为什么在启用 ssh 时应避免使用 raspi-config,但我会尝试在成像仪中启用它并重新安装,然后稍后编辑我的帖子
我有一个跳转服务器和一个目标服务器,我想连接到这个
myPc > JumpServer > TargetServer
在第一步中,我可以使用 ssh-keygen 跳过密码验证,但是在第二步中,由于安全问题,ssh-keygen 未安装,我对此无能为力。所以我想在我的 PC 上用一个命令传递密码。到目前为止,我尝试过:
sshpass -p myPassword ssh -At username@JumpServer ssh -A username@targetServer
ssh -J username@JumpServer username@targetServer
但都不起作用,有什么建议吗?
我有一些 gzip 文件想要传输到远程服务器并直接提取到目标驱动器上。
它类似于这个命令
dd if=/dev/sda bs=5M conv=fsync status=progress | gzip -c -9 | ssh user@DestinationIP 'gzip -d | dd of=/dev/sda bs=5M'
来自Server Fault上的这个问题。
就我而言,文件已经被压缩,因此gzip -9
不需要源。
它可能更类似于:
load-some-file /drive/image.tar.gz | ssh user@DestinationIP 'gzip -d | dd of=/dev/sda bs=5M'
应该是什么命令load-some-file
?
像这样的命令就cat
足够了吗,或者dd
它本身就够了吗?
可以将输出直接dd
发送到命令吗?ssh
我已连接到 VPS,需要通过 VPN 路由特定应用程序。但是,当我通过 WireGuard 启用 VPN 时,我与 VPS 的 SSH 连接断开。默认情况下,我的 VPN 会自行路由所有流量,但我只希望某些应用程序使用 VPN。我的目标是配置 WireGuard,以便只有明确绑定到 VPN 网络接口 ( se-got-wg-001
) 的应用程序才会使用 VPN,而其他应用程序将继续使用默认接口 ( eth0
)。
以下是我当前的 WireGuard 配置:
[Interface]
PrivateKey = REDACTED
Address = 10.66.127.142/32,fc00:bbbb:bbbb:bb01::3:7f8d/128
DNS = REDACTED
[Peer]
PublicKey = REDACTED
AllowedIPs = 0.0.0.0/0,::0/0
Endpoint = REDACTED
我希望这些更改在重启后仍然有效。我应该做哪些修改才能确保我的系统eth0
即使在启用 VPN 时也能将其用作默认接口?
我发现一些相关的帖子可能会有所帮助,但我仍然不清楚我需要采取哪些步骤:
- 具有两个接口的 Wireguard 客户端 - 使用一个接口来管理 Wireguard
- https://www.reddit.com/r/WireGuard/comments/npf4bp/new_to_wireguard_tips_for_routing_only_certain/
- https://serverfault.com/questions/1075973/wireguard-how-to-only-tunnel-some-of-the-traffic
- https://www.reddit.com/r/WireGuard/comments/vytuv5/is_it_possible_to_setup_wireguard_so_it_only/
以下是有关我的系统的一些信息:
root@vmixxx /e/wireguard# neofetch
.-/+oossssoo+/-. [email protected]
`:+ssssssssssssssssss+:` ---------------------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 24.04.1 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-7.2)
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.8.1-1009-realtime
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 2 hours, 45 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 1813 (dpkg), 4 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: fish 3.7.0
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 800x600
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: AMD EPYC 7282 (4) @ 2.794GHz
ossyNMMMNyMMhsssssssssssssshmmmhssssssso GPU: 00:02.0 Vendor 1234 Device 1111
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Memory: 2630MiB / 5925MiB
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
我正在尝试根据 FQDN 将 ssh 连接从端口 122/tcp 中继到端口 22/tcp 上的另一台服务器。
这是我的 HAProxy 配置:
frontend my_ssh_frontend
bind *:122
mode tcp
option tcplog
acl my_ssh_acl hdr(host) myHostname.myDomain.com
use_backend my_ssh_backend if my_ssh_acl
backend my_ssh_backend
mode tcp
server myserver1 x2.y2.z2.t2:22 check
但就好像 ACL 条件永远不成立,因此流量不会被路由到后端。
输出如下ssh -vvv
:
ssh.exe -p 122 -l admin-media myHostname.myDomain.com -vvv 2>&1 | egrep.exe -vw "identity file|Failed to open"
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug2: resolving "myHostname.myDomain.com" port 122
debug2: ssh_connect_direct
debug1: Connecting to myHostname.myDomain.com [x1.y1.z1.t1] port 122.
debug1: Connection established.
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.1
kex_exchange_identification: Connection closed by remote host
我如何使用 HAProxy 来实现这一点?