标签: ssh

通过 ssh 的 http 代理,而不是袜子

问题很简单,但答案不是:

ssh -D 8080 user@host
Run Code Online (Sandbox Code Playgroud)

或者

ssh -gCNf -D 8080 user@host
Run Code Online (Sandbox Code Playgroud)

或者

wathever with -D #
Run Code Online (Sandbox Code Playgroud)

我需要一种可以在不支持 SOCKS 的嵌入式设备中与 http_proxy 变量一起使用的代理。

我该怎么办?

linux ssh proxy socks-proxy http-proxy

42
推荐指数
4
解决办法
5万
查看次数

在多台计算机上使用相同的私有 ssh 密钥是一个坏主意吗?

我最近买了一台笔记本电脑,我需要用它来访问我从台式机上访问的相同远程主机。我突然想到,可能可以简单地将私钥文件从我的桌面复制到我的笔记本电脑,而不必为~/.ssh/authorized_keys我想要访问的所有主机上的文件添加新密钥。所以我的问题是:

  1. 这甚至可能吗?
  2. 是否有任何不明显的安全隐患?
  3. 有时我会从我的笔记本电脑登录我的桌面。如果使用相同的密钥,会导致任何问题吗?

security ssh unix

41
推荐指数
2
解决办法
2万
查看次数

使用 ssh 配置文件运行远程命令

我希望能够设置一个命令以在 ssh 登录到服务器时运行,而无需键入它。基本上,我正在寻找等效于以下内容的 ssh 配置文件:

ssh host command
Run Code Online (Sandbox Code Playgroud)

所以我需要输入的是:

ssh host
Run Code Online (Sandbox Code Playgroud)

并运行命令。

ssh remote-control

41
推荐指数
4
解决办法
2万
查看次数

SSH 访问 NAT 路由器后面的办公室主机

我想从家里访问我办公室 linux 主机的 ssh 端口。不幸的是,主机位于 NAT 路由器后面。因此,IP 地址不是公开可用的。然而,可以访问另一个互联网主机(服务器),不幸的是,它只是非 root 访问。经过一段时间的搜索,我没有找到合适的解决方案。

以下设置:

  • 位于 NAT(IP 非公共)之后的办公室 PC(linux,root 访问权限),但可以完全访问 Internet。
  • 服务器 PC(Linux,无根访问权限)静态和公共 IP 以及完整的 Internet 访问权限。
  • Home PC (linux, root access) behind NAT (IP not public) but full Internet access.

Possible connections: Office PC --> Server <-- Home PC

Not possible: Office PC <-X- Server -X-> Home PC

Neither the Home PC, nor the Server can initiate access to the Office PC. But both the Office PC and the Home PC can initiate …

linux firewall ssh nat ssh-tunnel

41
推荐指数
1
解决办法
4万
查看次数

是否可以使用 ssh 密钥签署文件?

我使用 SSH(准确地说是 Linux 上的 OpenSSH 5.5p1)。我有一把钥匙,上面有密码。我将它用于通常登录计算机的东西。

我也可以用它来签署文件吗?

据我了解,SSH 密钥是一个 RSA(或 DSA)密钥,在 SSH 登录过程中,它用于对发送到服务器的消息进行签名。所以在原则上和实践中,它可以用于签署事物——事实上,这是它的唯一目的。

但据我所知,没有办法使用密钥对任意文件进行签名(就像使用 PGP 时那样)。有没有办法做到这一点?

ssh digital-signature

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

当多台主机共享相同的 IP 和 DNS 名称时,如何编辑 known_hosts?

我经常 ssh 进入一台双启动 OS X / Linux 计算机。两个 OS 实例不共享相同的主机密钥,因此可以将它们视为共享相同 IP 和 DNS 的两个主机。假设 IP 是192.168.0.9,名称是hostnamehostname.domainname

据我了解,能够连接到两个主机的解决方案是将它们都添加到~/.ssh/know_hosts文件中。然而,说起来容易做起来难,因为文件是散列的,并且每个主机可能有几个条目 ( 192.168.0.9, hostname, hostname.domainname)。因此,我有以下警告

Warning: the ECDSA host key for 'hostname' differs from the key for the IP address '192.168.0.9'
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来编辑known_hosts文件,同时保留散列。例如,如何找到与给定主机对应的行?如何为某些已知主机生成哈希?

理想的解决方案将允许我使用ssh连接无缝到这台计算机,无论是否我把它192.168.0.9hostname或者hostname.domainname,也如果它使用它的Linux hostkey或其OSX hostkey。但是,如果存在真正的中间人攻击,是否使用了除这两个之外的其他密钥,我仍然希望收到警告。

ssh openssh

41
推荐指数
3
解决办法
5万
查看次数

如何通过ssh查看图片

我正在监控一个网站,想知道是否有办法通过 ssh 查看图片而不是每次都加载网站。

ssh pictures

41
推荐指数
5
解决办法
12万
查看次数

我可以用 Bash 做基础数学吗?

我想知道,是否可以在 bash 中进行简单的数学运算?我在想这样的事情,=25-5 会打印出 20 或其他东西。

这可以轻松完成吗?

谢谢

ssh bash

40
推荐指数
5
解决办法
5万
查看次数

您可以在 .ssh/authorized_keys 中指定 git-shell 以限制仅通过 ssh 访问 git 命令吗?

我希望能够使用 ssh 密钥进行身份验证,但仍然限制可以通过 ssh 隧道执行的命令。

使用 Subversion,我通过使用 .ssh/authorized_keys 文件实现了这一点,例如:

command="/usr/local/bin/svnserve -t --tunnel-user matt -r /path/to/repository",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAABIetc...
Run Code Online (Sandbox Code Playgroud)

我已经在命令中使用“/usr/bin/git-shell”尝试过这个,但我只是得到了时髦的旧fatal: What do you think I am? A shell?错误消息。

ssh git

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

Heartbleed 会影响 ssh 密钥吗?

最近的 Heartbleed 错误是否会影响我生成的 ssh 密钥并用于通过 Github、Heroku 和其他类似站点推送/拉取代码?

我需要更换我一直在使用的钥匙吗?

ssh openssl heartbleed

40
推荐指数
1
解决办法
2万
查看次数