标签: ssh

通过另一台主机通过 SSH 连接到远程主机

我正在尝试通过 ssh 连接到远程主机 B,但网络访问控制规定我只能通过主机 A 执行此操作。我将如何执行此操作?

已尝试创建到主机 A 的隧道 ssh -f -N -D 2222 user@hostA

然后当从本地创建新的 ssh 连接时指定隧道端口来隧道这些连接,但不能让它工作.. ssh -L 2222:hostB:22 hostA

涉及主机:本地主机A(本地内网)主机B(内网)

流量:Local > HostA > HostB

任何指针都将是超级手……提前致谢!

ssh socks tunnel

3
推荐指数
1
解决办法
5673
查看次数

Authorized_keys 中多个 permitopen 选项的工作示例

我有一个配置.ssh/authorized_keys了单个permitopen选项的工作密钥。我去添加了一个额外的permitopen,它不允许到新服务器的隧道。该文件说:

多个 PermitOpen 选项可以应用于同一个公钥,如果它们用逗号分隔,因此一个密钥可以允许多个端口。

但是,文档没有显示任何示例。有人可以提供一个工作示例吗?我已经尝试了以下两种方法:

permitopen="host-1:3389",permitopen="host-2:3389" ssh-rsa AAAAC...

和

permitopen="host-1:3389,host-2:3389" ssh-rsa AAAAC...

ssh ssh-tunnel ssh-keys

3
推荐指数
1
解决办法
5573
查看次数

具有动态 IP 的 SSH known_hosts

我有一台位于防火墙后面的机器。我使用带有端口转发的 VPN 隧道通过 ssh 远程连接到它。为了连接到机器,我使用了 VPN 的外部 IP 以及我个人和临时分配的端口。我使用的命令是:

ssh USER@VPN_IP -p PORT
Run Code Online (Sandbox Code Playgroud)

由于VPN_IP并且PORT经常更改,我无法获得保存主机密钥known_host以摆脱中间人攻击的优势,但同时主机密钥对我来说是众所周知的,我可以按顺序将其提供给 ssh将其用于当前VPN_IP和PORT组合。那可能吗?如何?

vpn ssh tunneling known-hosts ssh-keys

3
推荐指数
1
解决办法
2708
查看次数

Ansible PreferredAuthentications SSH 设置从何而来?

我正在使用 SSH 用户名和密码设置运行标准的 ansible (v2.3.1) 剧本。使用“-vvvv”设置时,我可以看到生成了这些 SSH 命令

EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s 
-o StrictHostKeyChecking=no -o Port=2222 
-o KbdInteractiveAuthentication=no 
-o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o User=dc_user -o ConnectTimeout=10
Run Code Online (Sandbox Code Playgroud)

在上述情况下,从何处提取“PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey”设置。我相信这些来自客户端 SSH 配置设置,但这是正确的吗?

我知道我可以通过在我的“ansaible.cfg”中定义它来覆盖 ssh 参数

[ssh_connection]
scp_if_ssh=True
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o PreferredAuthentications=publickey
Run Code Online (Sandbox Code Playgroud)

谁可以给我解释一下这个?谢谢

ssh ansible ansible-playbook

3
推荐指数
1
解决办法
4087
查看次数

如何在 Windows 主机上使用带有 plink.exe 的 Linux 服务器上的 ssh 主机密钥?

我有 Linux 服务器运行sshd。

如何hostkey从 Linux 服务器提供到plink.exeWindows 上?

例如:跑步 plink.exe -ssh -batch -m plink.tmp -hostkey ...

ssh putty plink

3
推荐指数
2
解决办法
2735
查看次数

如果没有设置密码,为什么密码会过期?

为什么密码会过期?

几天以来,我一直在使用公钥(无密码)登录。今天我收到这条消息:

> ssh modlink_foo_q@server

You are required to change your password immediately (password expired)
Last login: Wed Nov 14 09:26:48 2018 from 10.130.4.3
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for modlink_foo_q.
Run Code Online (Sandbox Code Playgroud)

这是 /etc/shadow 中的匹配行

server:~ # grep modli /etc/shadow
modlink_foo_q:!:17757:1:90:7:::
Run Code Online (Sandbox Code Playgroud)

我认为没有设置密码。那么谁可以过期呢?

操作系统:SUSE Linux Enterprise Server 12 SP3

ssh password expired

3
推荐指数
1
解决办法
6651
查看次数

更改SSH端口后无法登录服务器

我正在使用腻子连接到我的 Ubuntu 16.04 VPS。

我决定将默认 SSH 端口从 22 更改为 443。我这样做是更改了线路

Port 22
Run Code Online (Sandbox Code Playgroud)

在 /etc/ssh/sshd_config

到 Port 443

现在,当我尝试使用端口 443 连接到服务器时,我收到错误消息“服务器意外关闭网络连接”

当我尝试使用端口 22 连接到服务器时,我收到错误消息“网络错误:连接被拒绝”

服务器已启动并正在运行,我只是无法再连接到它了,有没有办法解决这个问题?

编辑:我重新安装了 VPS 并再次重新配置。可能导致此问题的可能问题是我使用相同的端口使用 Putty 连接到我的 VPS,并在鱿鱼中为我的代理使用相同的端口。

networking ubuntu ssh port linux-networking

3
推荐指数
1
解决办法
1694
查看次数

我怎么能有多个authorized_keys文件?

我希望能够在 2 个单独的文件中指定密钥,一个是用户控制的,另一个是由工具自动生成的。

我怎样才能做到这样一个文件~/.ssh/authorized_keys_generated也能在登录时检查密钥?

ssh

3
推荐指数
1
解决办法
3654
查看次数

如何将命令行中的显式 ssh 密钥优先于 ssh-agent 密钥?

我有一堆 ssh 密钥半永久性地加载到 ssh-agent 中。ssh-add -L列出 6 个键。

我还有其他单独存储的密钥;比方说,在 USB 记忆棒上。我正好不希望妥善保管所有的时间。让我给其中之一打电话square.key。

问题是:在我需要的时候square.key,我可以插入 USB 记忆棒并指定-i /path/to/square.key— 但它不起作用。-v揭示了原因:

debug1: Will attempt key: /home/ulidtko/.ssh/key1 RSA SHA256:<redacted> agent
debug1: Will attempt key: /home/ulidtko/.ssh/key2 RSA SHA256:<redacted> agent
debug1: Will attempt key: key3@localhost ED25519 SHA256:<redacted> agent
debug1: Will attempt key: key4@localhost RSA SHA256:<redacted> agent
debug1: Will attempt key: key5@localhost ed25519 ED25519 SHA256:<redacted> agent
debug1: Will attempt key: key6@localhost ECDSA SHA256:<redacted> agent
debug1: …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-keys ssh-agent

3
推荐指数
2
解决办法
889
查看次数

我可以设置 SSH known_hosts 以忽略特定的主机名吗?

我最近使用 Raspbian 系统映像设置了一些无头 Raspberry Pi 系统。他们默认使用 zeroconf 域名raspberrypi.local。在我更改它之前,我必须使用 SSH 连接到新服务器,它总是对我咆哮:

> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @      WARNING: POSSIBLE DNS SPOOFING DETECTED!           @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Run Code Online (Sandbox Code Playgroud)

并且在我打开 known_hosts 文件并删除上一个条目之前不会连接。然后当它连接时,它会自动添加一个新条目,raspberrypi.local以便下次搞砸。

我理解并欣赏检查密钥并自动添加新密钥的逻辑,但我认为对于这种特定情况,它没有意义。我永远不会连接到被调用的服务器,raspberrypi.local除非它是我刚刚插入的新服务器,在这种情况下,它永远不会有已知的可信赖密钥。

我可以从known_hosts 规范中看到我可以在地址端设置一个通配符(即接受这个范围内的任何地址的这个密钥)但是我想要做的是在密钥端设置一个通配符(接受来自这个的任何键)特定域名)。或者更好的是,根本不要检查这个域名的密钥。

有什么方法可以告诉 known_hosts 忽略(通过而不检查密钥)单个特定域名?

ssh known-hosts

3
推荐指数
1
解决办法
272
查看次数