我有一个Centos 7服务器的专用networking。 每个服务器只能通过SSH堡垒到达。 而且,所有这些服务器都使用SSSD来针对LDAP目录validationSSH用户的密钥。 由于密钥是针对LDAP目录进行身份validation的,因此没有标准的authorized_keys文件。 二进制文件/usr/bin/sss_ssh_authorizedkeys不是通过一个标准的authorized_keys文件来pipe理一个针对LDAP的查询, sshd格式化为一个authorized_keys文件 – 但实际上并不是一个文件。 因此,就我所知,通过将RSA键绑定到commands=" … "条目来限制用户到特定的命令是不可能的。 SSH用户可以使用以下命令通过堡垒authentication他们的工作站: ssh -A -l [email protected] joes.workstation.ip -o ProxyCommand="ssh -l [email protected] -q bastion.ip nc joes.workstation.ip %p" 不幸的是,他们也能够在堡垒服务器上进行SSH会话,这是我不希望他们能够做到的。 无论如何,我可以使用我当前的工具 – SSSD,SSHD,一个LDAP目录 – 允许SSH用户通过堡垒,但不能进入堡垒?
我有安装了pptpd和sshuttle的VPS#1和有ssh访问权限的VPS#2 我需要将使用pptp连接到VPS#1的用户从VPS#1到VPS#2(通过隧道,因为pptp不可用于vps#2)进行路由,我使用sshuttle在VPS#1和VPS#2之间build立隧道发送数据,但它不工作… 这是理论上的蠕虫还是我想念这里的东西? 换句话说,我引用这个 : 0/0的用法将除DNS请求之外的所有stream量路由到远程服务器。 如果您需要隧道您的DNS也… 那么为什么PPT交通不会溃败到我想要的服务器?
我是nginx的新手。 我已经用nginxinheritance了一个function齐全的configuration好的Ubuntu服务器,并且希望另外调整它来支持下面描述的有点奇怪的configuration。 基本信息。 我的Ubuntu服务器(我们将其命名为server.corp.com)运行在内部公司networking中。 它拥有Gerrit和Jenkins,每个都有www接口,在自己的端口(8081和8082)上侦听,nginx代理请求到相应的locations 。 例如http://server.corp.com/gerrit的请求被代理到http://server.corp.com:8081不幸的是,我现在无法显示nginxconfiguration,因为我正在家里写这个问题。 我记得它包含了带有proxy_pass子句的行。 现在,这是奇怪的configuration。 server.corp.com, ports 80, 22 and 29418 <–> other Linux <–> Windows Other Linux和Windows PC也属于公司networking(很大)。 Other Linux可以通过端口80,22和29418连接到我的服务器。其他端口被防火墙阻止,我不会受到影响。 Windows PC可以使用SSH连接到Other Linux ,并且可能还有其他端口和协议。 我在Other Linux上既没有login也没有超级用户权限。 我的同事WindowsPC用户已经成功地在端口29418上使用Putty和SSH隧道连接到我们的Gerrit(它也监听端口29418)。 相应的隧道是localhost:29418 -> server.corp.com:29418 。 我的目标是让我的同事在server.corp.com访问Gerrit和Jenkins的www接口。 我可以指示他build立一个或多个SSH隧道到我的服务器。 不过,我想,这也需要一些调整nginx,因为简单的SSH隧道localhost:80 -> server:80不起作用。 Chrome在尝试连接到本地主机时抱怨SSL连接超时:80。 更新2:我试图在我的电脑上build立这个设置(Windows也是如此),并使用Git发行版中的wget。 我还创build了一个实验的位置。 这里是nginxconfiguration的相关部分(我希望) # file nginx.conf include /etc/nginx/conf.d/*.conf; # … # file conf.d/tunnel.conf […]
我想从一个machine_1连接到另一个Windows machine_2腻子。 所以我在machine_2上安装一个OpenSSH服务器。 我用puttygen生成了2个密钥对。 我将公钥粘贴在C:\ Users \ Administrator \ .ssh \ authorized_keys中 。 这里是我的sshd_config : # $OpenBSD: sshd_config,v 1.84 2011/05/23 03:30:07 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default […]
我正在运行一些自动脚本。 对于某些任务,我有时需要一个异想天开的背景“服务”来运行。 例如,我想设置一个SSH隧道,运行testing,然后删除隧道。 ATM我使用一些冗长的代码: #!/usr/bin/env bash function automated_task(){ socksProxyTimeout=120 ssh -A -D 9999 some_server "sleep $socksProxyTimeout; " & sockProxyPid=$! sleep 3 function cleanUp(){ echo shutting down background processes… kill -9 $sockProxyPid || true cd ../../ } trap 'cleanUp' EXIT run_selenium_with_proxy } automated_task 我不喜欢这个解决scheme,因为我认为只有在整个脚本退出时才会调用cleanup,而不仅仅是“automated_task”。 我真的希望尽可能使本地代码。 我真正想要做的只是指定后台进程只在前台进程仍在运行的情况下运行。
我正在试图在远程计算机上使用Jupyter笔记本。 设置如下:我有我的家里的笔记本电脑,可以ssh到我的大学的networking上的特定计算机(例如, gateway.myuniv.edu )。 一旦我login到gateway.myuniv.edu ,我可以ssh到我想运行Jupyter笔记本服务器(例如cluster.myuniv.edu )的计算机上。 什么工作 :我可以在网关上运行服务器,并使用本地端口转发从我的笔记本电脑连接到它,如下所示: 在gateway.myuniv.edu $ jupyter notebook –no-browser –port 8888 在我的笔记本电脑上: $ ssh -v -N -L 9000:localhost:8888 [email protected] 然后在笔记本电脑的浏览器上打开url: http://localhost:9000 什么都行不通 :我不想在网关上运行服务器,因为我不能在那里进行大量的计算。 我试图做到以下几点: 在cluster.myuniv.edu $ jupyter notebook –no-browser –port 8888 在我的笔记本电脑上: $ ssh -v -N -L 9000:cluster.myuniv.edu:8888 [email protected] 然后在笔记本电脑的浏览器上打开url: http://localhost:9000 。 这不起作用:SSH说连接被拒绝。 我不明白为什么会发生这种情况,以及如何debugging,会很乐意提供任何帮助。 谢谢!
从新安装的Ubuntu 16.04,我无法通过SSH隧道连接到某些主机。 另一个奇怪的是,当试图build立隧道,通过 $ ssh -fN -L 2222:192.168.1.115:22 [email protected] 我得到: Unable to negotiate with 1.2.3.4 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 我通过指定: $ ssh -fN -L 2222:192.168.1.115:22 -oKexAlgorithms=+diffie-hellman-group1-sha1 [email protected] 一个隧道build立,尝试通过它连接到指定的主机 $ ssh -p 2222 -vvvv [email protected] 大约一分半钟挂在: $ ssh -p 2222 -vvvv [email protected] OpenSSH_7.2p2 Ubuntu-4, OpenSSL 1.0.2g-fips 1 Mar 2016 […]
我的用户在外部networking中的[externalserver]上工作。 我想让他们访问我的防火墙networking内的https服务。 我在DMZ中使用了无密码的ssh访问权限。 目前我让他们创build一个SSH SOCKS5转发代理: user@externalserver> ssh -Nf -D 9876 user@jumphost 并让他们把这个socks化的应用程序指向localhost:9876。 问题是,一旦build立了这个隧道,[externalserver]上的所有用户都可以通过它访问我的内部https服务。 显然ssh不提供SOCKS代理的身份validation。 我怎样才能实现这个function,但防止[外部服务器]上的非授权用户访问我的networking? 最好是一个无密码的解决scheme。 我对[externalserver]没有pipe理权限。
我试图从我的AMAZON实例设置远程转发到本地计算机(开发)我的问题是,当我连接到亚马逊服务器,当我运行netstat -antp命令时,它显示我有一个套接字监听但是我只想听127.0.0.1:8080的公共接口。 我的“netstat -antp | grep LISTEN”的输出: [centos@ip-##-##-##-## ~]$ netstat -ant Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN – 我尝试使用RemoteForward选项: [PUBLIC_IP]:8080 [AMAZON_INTERNAL_IP]:8080 0.0.0.0:8080 这是我的.ssh / config文件的内容: Host amazon User centos HostName ###.###.###.### RemoteForward 8080 127.0.0.1:81 IdentityFile ~/.key.pem 谢谢你的帮助 !
我试图在我的ec2实例运行在Ubuntu 16.04与Navicat我的数据库。 但它继续与SSH:来自服务器的预期密钥交换组数据包我有另一个实例在Ubuntu 14.04上运行,那里我有一个有效的连接与相同的公钥。 我试过用Mysql Workbench,而且这两个实例也可以正常工作。 所以,似乎navicat不仅在16.04的情况下工作。 这里可能是什么问题?