网关服务器跳转堡垒主机本地安装

肖恩

我想使用中间(堡垒,跳转,网关)服务器SSH到远程专用主机。该命令可以正常工作:

ssh gateway ssh private

使用此〜/ .ssh / config设置:

Host gateway
  User gateway-user
  HostName XX.XX.XX.XX
  RequestTTY force

如何在我的〜/ .ssh / config中实现呢?我尝试了ProxyCommand的无数次迭代,但都没有碰到运气。我想使用网关主机上的身份文件访问私有主机。我希望能够做到:

ssh private

我知道这里描述的技术,但是它要求我的公钥必须在所有私有主机上,但是我不希望这样:

http://www.lorrin.org/blog/2014/01/10/one-liner-ssh-via-jump-box-using-proxycommand/

护目镜

首先,在网关上配置ssh密钥,以便可以将ssh设置为私有。然后在您的客户端上,创建用于在网关上进行身份验证的单独的私钥/公钥对。例如ssh-keygen -t rsa -f id_gateway

然后在网关上,使用command=您的authorized_keys文件中语法。例如,您的输入可能如下所示:

command="sh -c 'ssh private ${SSH_ORIGINAL_COMMAND:-}'" ssh-rsa AAAAB3....

在sshd联机帮助页中搜索以command="command"获取更多信息。确保将id_gateway.pub密钥添加到此行。然后在您.ssh/config的客户端上,添加如下条目:

Host private
User gateway-user
Hostname xxx.xxx.xxx.xxx
IdentitiesOnly Yes
IdentityFile ~/.ssh/id_gateway

现在,从您的客户那里您应该可以ssh private直接进入。这甚至适用于scpsftp

额外信用

如果要将其用于多台服务器,而只想管理网关上的一个公钥,则可以使用以下技巧。sshd默认情况下,仅允许从本地环境接收某些变量。其中之一LC_PAPER是很少用于任何东西。因此,我们可以使用它来传递服务器的主机名,如下所示:

首先,将公共密钥条目更改为

command="sh -c 'ssh $LC_PAPER ${SSH_ORIGINAL_COMMAND:-}'" ssh-rsa AAAAB3...

然后在客户端上,向.bashrc文件(或使用的任何shell)中添加如下所示的函数

ssh_proxy() {
  LC_PAPER=$1 /usr/bin/ssh $*
}

然后为您添加别名:

alias ssh=ssh_proxy

最后,像上面显示Host.ssh/config那样部分添加到您的部分例如:

Host private2
User gateway-user
Hostname xxx.xxx.xxx.xxx
IdentitiesOnly Yes
IdentityFile ~/.ssh/id_gateway

现在,你应该能够做到ssh private,并ssh private2与网关只是一个公钥。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用跳转主机(?网关服务器?)将文件从远程服务器传输到我的本地桌面

在SSH本地端口转发中,使用什么DNS服务器解析主机(而不是ssh网关)?

使用Azure数据管理网关安装Power BI Gateway本地服务器吗?

本地主机服务器的速度

以本地主机访问服务器?

Ansible,连接到 AWS VPC 中的堡垒服务器,主机无法访问

MOSH进入堡垒服务器,SSH进入内部主机

SSH隧道:本地=>网关=> MySQL服务器

kafka JDBC MySQL 源连接器是否需要在本地主机上安装 MySQL 服务器?

防止本地主机上的本地服务器访问本地主机

本地主机和服务器上的公共路径

无法在本地主机上启动Go服务器

Spring / Maven本地主机前缀(tomcat服务器)

散景服务器:加载并等待本地主机

在本地主机上运行Django服务器

Micronaut嵌入式服务器与本地主机

无法在本地主机,Django服务器上卷曲

在本地主机上运行Node JS服务器

Wordpress 从主机迁移到本地服务器

Xcode/Swift 中的简单本地主机服务器?

本地主机500内部服务器

本地主机500内部服务器错误

从远程服务器端访问本地主机

AWS EC2 SSH隧道堡垒服务器

允许远程服务器访问本地主机上的API服务器

将MySQL数据库从本地MAMP服务器移动到主机的服务器

设置从本地主机到服务器的服务器代码

用于主机服务器的PowerShell的Web Deploy 3.6安装

无法从主机(windows)浏览器访问 virtualbox 来宾(ubuntu 服务器)本地主机