之间的区别
ssh [email protected]
ssh za\\[email protected]
?
两种登录方式都授予我 SSH 访问权限,但某些文件/文件夹可以通过后者访问,而不能通过前者访问?
之间的区别
ssh [email protected]
ssh za\\[email protected]
?
两种登录方式都授予我 SSH 访问权限,但某些文件/文件夹可以通过后者访问,而不能通过前者访问?
我正在尝试通过 SSH 连接获取屏幕截图。在此 SSH 连接中,我使用普通用户。(在我的情况下是 PC)
我发现执行这个命令之后:
screenshot-cmd -o test.jpg
同样的情况也发生在
screencapture test.jpg
我得到的 jpg 文件全是黑色的。如果我以正常方式(不通过 SSH)执行此操作,则可以成功获取屏幕截图。
我尝试使用任务计划程序来执行此操作,它运行良好,但它显示命令窗口,所以我检查了选项Run whether user is logged in or not
,它根本不显示命令窗口,但是我遇到了黑色图像的问题。
这可能是什么原因造成的?
我已经在 Google 上搜索了几个小时,但没有找到任何可行的方法。
我使用 ssh -R 命令在客户端创建一个 ssh 反向隧道:
ssh -fNR 3389:127.0.0.1:3389 user@remotehost
在客户端,我可以使用 ps 和 netstat 命令来找到反向隧道后面的 ssh 连接以及相应的 pid、本地端口和远程端口
sudo ps aux | grep "-fNR 3389:"
我想知道是否有办法从服务器端找到相同的本地端口和远程端口?非常感谢您的任何建议。
我正在尝试在 HPC 集群上安装一个科学软件包。我们称之为clusterhpc
。在配置过程中,软件包尝试克隆一堆公共 git 存储库。但是,clusterhpc
由于受到防火墙保护,互联网访问受限,因此git clone
无法工作。
我可以通过无密码 SSH 访问clusterhpc
,localmachine
反之亦然。我可以git clone
在 中进行公共存储库操作localmachine
。
我将如何设置 git 命令,clusterhpc
以便在git clone
那里运行时,克隆过程会通过隧道localmachine
?
我有两台服务器,A 和 B。每次登录 B 都需要 2FA,所以我使用 ControlMaster 来保存身份验证状态。
但是,我使用的是笔记本电脑,它有时会休眠并停止所有 TCP 连接。这会破坏 ControlMaster 套接字。因此,我使用另一台服务器作为跳转服务器。我保留 A 上的身份验证状态并从 A 连接到 B(ssh a -tt ssh b
)。然后,我在笔记本电脑上将写入RemoteCommand ssh -tt -q b
主机的 ssh 配置,这样我就可以运行。a
ssh a
但是,当前设置不适用于 VSCode 的远程 SSH 和 rsync。我该如何让它工作?
我尝试过的解决方案:
OpenSSH_8.9p1 Ubuntu-3ubuntu0.7
在 WSL 上使用,ssh-keygen
拒绝之前生成的密钥,输出错误:
do_convert_from_ssh2:解析密钥:格式无效
$ cd /tmp/some_directory
$ ssh-keygen -f id_rsa -m RFC4716 -N ''
[... nominal output ...]
$ ssh-keygen -i -f id_rsa -m RFC4716
do_convert_from_ssh2: parse key: invalid format
$ ssh-keygen -i -f id_rsa
do_convert_from_ssh2: parse key: invalid format
由于这是一个测试/废弃的私钥,我可以与您分享:
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
(注意:行正确地由单个 0x0a 分隔,并且文件正确地显示了最终的 0x0a)
我的最终目标是将这个密钥转换为与openssl pkeyutl -decrypt -inkey ${converted_key_file}
.我究竟做错了什么?
机器 A 有一个绑定到 localhost:80 的服务(例如 Web 服务器)。机器 B 想要访问此服务,但与机器 A 没有直接连接。
我想创建从机器 B 到机器 A 的反向 ssh 隧道。
这有效:
machine A> ssh -R 888:localhost:80 root@machineB
machine B> curl localhost:888
→ success
这不起作用(192.168.10.1
我是机器 B 的 IP):
machine A> ssh -R 192.168.10.1:888:localhost:80 root@machineB
machine B> curl localhost:888
→ success
machine B> curl 192.168.10.1:888 -v
* Trying 192.168.10.2:888...
* connect to 192.168.10.2 port 888 from 192.168.10.2 port 39764 failed: Connection refused
* Failed to connect to 192.168.10.2 port 888 after 0 ms: Couldn't connect to server
* Closing connection
curl: (7) Failed to connect to 192.168.10.2 port 888 after 0 ms: Couldn't connect to server
发生的情况是localhost:888
总是成功,但在 NIC IP 上尝试相同的操作却不起作用。
我检查了机器 B 上端口仅监听的localhost
绑定:
machine B> ss -nltap | grep 888
LISTEN 0 0 127.0.0.1:888 0.0.0.0:* users:(("sshd",pid=3438633,fd=7))
LISTEN 0 0 [::1]:888 *:* users:(("sshd",pid=3438633,fd=5))
这是技术的限制,还是我遗漏了什么?
SSH 有时会出现在进程未完成时的状态,屏幕上有来自服务器的命令日志,但实际上连接失败 - 用户无法发出任何命令,命令行没有响应。
或者与 SSH 隧道相同 - 进程正在运行,但连接丢失。
如何检测这种情况并使 ssh 进程失败以重新启动或显示警报?也许有一些 ssh 二进制参数?
我想根据某些条件设置不同配置的 ssh 连接。别名中的许多参数都是相同的。有没有办法避免在每个别名中重复它们?
在下面的示例中,x 是变量并且y = 1
是常量。理想情况下,y 应定义一次。
Match host foo exec c1
x = 1
y = 1
Match host foo exec c2
x = 2
y = 1
# Some more `Match host foo` for foo on different conditions
Host foo
x = 42
y = 1
我使用 KeePassXC 作为密码管理器已经有一段时间了,我对它非常满意。今天我决定尝试将其设置为ssh agent
. 我感兴趣的平台是 Windows 和 Linux。我按照超级用户的这篇文章,将我的 ssh 密钥添加到 KeePassXC。正如所宣传的,如果数据库解锁并且我运行,ssh-add -l
我会看到来自 KeePassXC 的密钥,而当数据库锁定时,我看不到密钥。
现在的问题是正确设置值~/.ssh/config
。我想避免代理只尝试所有可用的 ssh 密钥。所以我将以下两行添加到我的顶部~/.ssh/config
IdentitiesOnly yes
PasswordAuthentication no
正如另一篇超级用户帖子中所述,我将公钥添加到~/.ssh/config
Host bitbucket
HostName bitbucket.mycompany.com
User Sito
IdentityFile C:\Users\Sito\.ssh\bitbucket.pub
另一篇文章则声称
ssh
如果将 KeePassXC 添加到代理,将使用正确的密钥。
所以我跑了
> ssh -vvv -T [email protected]
...
debug1: Offering public key: C:\\Users\\Sito\\.ssh\\bitbucket.pub RSA HASH explicit agent
...
debug1: Server accepts key: C:\\Users\\Sito\\.ssh\\bitbucket.pub RSA HASH explicit agent
...
Authenticated to bitbucket.mycompany.com ([IP]:PORT)
...
shell request failed on channel 0
但是当我尝试从git clone
我们的服务器获取存储库时,我收到以下错误
> git clone ssh://git@link_to_repo
Load key "C:\\Users\\Sito\\.ssh\\bitbucket.pub": invalid format
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我再次尝试对此进行调试,git config --global core.sshCommand='ssh-vvv'
但消息之前的最后一部分invalid format
只是
...
debug1: Server accepts key: C:\\Users\\Sito\\.ssh\\bitbucket.pub RSA HASH explicit
debug3: sign_and_send_pubkey: using publickey with RSA HASH
debug3: sign_and_send_pubkey: signing using rsa-sha2-512 HASH
Load key "C:\\Users\\Sito\\.ssh\\bitbucket.pub": invalid format
...
与这里唯一的区别ssh -T
似乎是它不是explicit agent
在最后只是说explicit
。有想法该怎么解决这个吗?