- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想允许用户在特定端口(例如 5000)上设置到特定计算机的 SSH 隧道,但我想尽可能限制该用户。 (身份验证将使用公钥/私钥对)。
我知道我需要编辑相关的 ~/.ssh/authorized_keys 文件,但我不确定要在其中放入什么内容(公钥除外)。
最佳答案
在 Ubuntu 11.10 上,我发现我可以阻止使用或不使用 -T 发送的 ssh 命令,并阻止 scp 复制,同时允许端口转发通过。
具体来说,我在“somehost”上有一个绑定(bind)到 localhost:6379 的 redis 服务器,我希望通过 ssh 隧道安全地共享到具有 key 文件的其他主机,并将通过 ssh 进行连接:
$ ssh -i keyfile.rsa -T -N -L 16379:localhost:6379 someuser@somehost
这将导致 redis 服务器“somehost”上的“localhost”端口 6379 出现在执行 ssh 命令的主机本地,并重新映射到“localhost”端口 16379。
在远程“somehost”上,这是我用于授权 key 的内容:
cat .ssh/authorized_keys (portions redacted)
no-pty,no-X11-forwarding,permitopen="localhost:6379",command="/bin/echo do-not-send-commands" ssh-rsa rsa-public-key-code-goes-here keyuser@keyhost
no-pty 会阻止大多数想要打开终端的 ssh 尝试。
permitopen 解释了允许转发哪些端口,在本例中,端口 6379 是我想要转发的 redis-server 端口。
如果某人或某事确实设法通过 ssh -T 或其他方式向主机发送命令,则 command="/bin/echo do-not-send-commands"会回显“do-not-send-commands”。
从最近的 Ubuntu man sshd
来看,authorized_keys/命令描述如下:
command="command" Specifies that the command is executed whenever this key is used for authentication. The command supplied by the user (if any) is ignored.
尝试使用 scp 安全文件复制也会失败,并出现“不发送命令”的回显,我发现 sftp 使用此配置也会失败。
我认为之前的一些答案中提出的受限 shell 建议也是一个好主意。另外,我同意这里详细说明的所有内容都可以通过阅读“man sshd”并在其中搜索“authorized_keys”来确定
关于unix - 允许用户设置 SSH 隧道,但仅此而已,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021/
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
我错误地设置了 ssh key 的密码。 但是每次使用 key 时都要输入密码很烦人。 我想删除我的 key 的密码: $ ssh-keygen -p -f 但是,我担心 key 会被更改。 由于我
你好!我在连接到远程主机时遇到问题。我忘记了 ssh 密码,但我有 SSH key 的指纹。是否可以仅使用指纹进行连接? 最佳答案 不会。机器的指纹仅用于验证您正在连接您认为正在连接的机器。它是用于避
我有一个 Ubuntu 服务器 example.com 并且我已经通过 ssh 进入了它。但只有在我通过 ssh 进入它之后,我才意识到我打算执行 ssh -L 8000:localhost:9000
通过终端,我可以多次 SSH 连接到服务器: (客户端--->网关--->服务器1---->服务器2---) 但是现在要通过Java的JSch库来实现,怎么办呢?首先尝试了端口转发,但在终端上我没有这
在创建一个新的仓库(本地 + 远程)之后,我正在尝试推送提交。但是我遇到了 SSH key 的问题 在我的 ~/.ssh/config 中,我有一个 gitlab 条目定义为 Host MyRepoJ
我发现 ssh 和 ssh-keygen 有一种奇怪的行为:它们根本没有反应。 Cygwin 以管理员权限启动并正常运行。主机 192.168.1.1 已启动,我可以远程桌面到它: 当我尝试时: $
为什么eval语句返回 Illegal variable name $ eval "$(ssh-agent -s)" Illegal variable name. 最佳答案 请尝试$ eval "ss
我正在尝试通过以下命令从我的本地主机连接到远程主机。但是远程主机中有一个设置,我们登录后不久它会提示输入徽章 ID、密码和登录原因,因为它在 profile 中是这样编码的文件在 remote-hos
有时,我被迫在不稳定的互联网连接上使用 ssh。 ping some.doma.in PING some.doma.in (x.x.x.x): 56 data bytes Request timeou
This thread is a response to the titled question : Why ssh-agent doesn't forward my SSH certificate
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
因此,我在10.10.10.x子网中有一堆机器,基本上所有这些机器都以相同的方式配置。我将这些与我的10.10.11.x子网中的计算机区分开,后者具有不同的用途。 我希望能够输入“ssh 10.x”以
我不想在 vagrant box 上创建新的 SSH key 对,而是想重新使用主机上的 key 对,使用 agent forwarding 。我尝试过设置 config.ssh.forward_ag
我有一台服务器,可以通过ssh通过pubkey身份验证通过ssh访问: ssh "Host" -l "my identity" 这很好。但是,我无法在一个命令中使用我的私钥进行端口重定向和标识(这是我
创建一对 key 并通过 ssh-copy-id 将公钥发送到服务器后,我仍然无法在没有密码的情况下登录 ssh -v user@host 的输出 debug1:在/home/pumba/.ssh/k
我被困在 Permission denied (publickey) hell 中,试图将公钥复制到远程服务器,以便 Jenkins 可以在构建期间同步文件。 运行: sudo ssh-copy-id
我正在尝试通过我大学的代理服务器ssh到我们实验室的服务器之一。我们的目标是使用paramiko使其自动化,但我试图首先了解终端机级别中正在发生的事情。 我试过了 ssh -o ProxyComman
我在说明问题上有问题,我想通过SSH切换到我的Cisco交换机,但是我遇到了一些麻烦 我写了两个脚本, 有了这个我没有任何问题,我可以通过运行脚本并输入用户名和密码来更改默认网关: from Exsc
每个人 我目前正在使用一个集群,并且会经常使用“ssh”连接到它。有时我需要打开多个终端。因此,每次需要连接时,我都必须输入“ssh username@cluster.com”,然后输入“密码”(我在
我是一名优秀的程序员,十分优秀!