Articles of ssh

为什么“AcceptEnv *”被认为是不安全的?

在/etc/ssh/sshd_config ,有一个名为AcceptEnv的选项,允许ssh客户端发送环境variables。 我需要能够发送大量的环境variables。 这些在客户端的每个连接上都会发生变化,所以把它们放在服务器上的login脚本上会比较困难。 我读过"AcceptEnv *"是不安全的。 我想了解为什么在我尝试获取所有试图设置的环境variables的列表之前。 为什么它被认为是不安全的? 我能举个例子吗?

SSH从远程SSH会话回到本地计算机

我试图用SSH来做一些非常不寻常的事情(对我来说),但是我不能得到它的工作,希望你能帮上忙。 我想用我的Macbuild立到远程服务器的连接。 到现在为止还挺好。 现在,棘手的一点,连接到远程服务器build立我想然后启动连接从远程服务器返回本地计算机。 我知道,疯了。 基本上我需要跳过这些环节才能够浏览远程服务器,然后将文件信息发送回本地机器,以便本地机器上的应用程序可以处理这些信息。 希望这是有道理的! 现在,如果我login到远程服务器后SSH回到本地机器,terminal将坐在那里呼啸而过,即使-v也没有错误。 我试图通过查看$ SSH_CLIENTvariables的输出来发现我应该调用的位置,但是我在一个标准的vanillanetworking连接(没有静态IP地址),我认为这可能是导致问题的原因。 我已经确定的事情:我在Mac(OS X 10.6.4)上,并且在系统偏好设置/共享中启用了远程loginfunction如果我尝试从局域网外的另一台计算机上将SSH连接到我的Mac,我可以连接没有问题。 如果我尝试从远程服务器SSH到另一台服务器(不是本地计算机),我可以连接没有问题。 所以上述事实让我觉得我对本地和远程机器上的防火墙等方面都很清楚。 我肯定我在这里肯定会错过一些很明显的东西,但是对于我来说,我无法控制它。 任何帮助,链接或一般推动正确的方向将不胜感激!

强制ssh提示用户

当你运行没有login_name参数的ssh时,它会自动使用你的本地用户名作为login_name。 例如: cogan@localhost$ ssh myserver cogan@myserver's password: 有没有办法强制SSH提示login_name?

反向SSH隧道:我怎样才能发送我的端口号到服务器?

我有两台机器,客户端和服务器。 客户端(位于企业防火墙之后)使用以下命令打开一个到服务器的反向SSH隧道,该服务器具有可公开访问的IP地址: ssh -nNT -R0:localhost:2222 [email protected] 在OpenSSH 5.3+中,在-R之后出现的0意味着“select一个可用的端口”,而不是明确地要求一个端口。 我这样做的原因是因为我不想select一个已经在使用的端口。 事实上,实际上有很多客户需要build立类似的隧道。 现在的问题是服务器不知道哪个客户端是哪个。 如果我们想连接回这些客户端(通过本地主机),那么我们如何知道哪个端口是指哪个客户端? 我知道,ssh在上述方式使用时将端口号报告给命令行。 不过,我也想用autossh来保持会话的活跃。 autossh通过fork / exec运行它的subprocess,据推测,实际的ssh命令的输出在以太网中丢失了。 此外,我想不出任何其他方式从客户端获得远程端口。 因此,我想知道是否有一种方法来确定服务器上的这个端口。 我有一个想法是以某种方式使用/ etc / sshrc,这应该是一个为每个连接运行的脚本。 但是,我不知道如何得到相关的信息(也许是特定的sshd进程处理该连接的PID)我想要一些指针。 谢谢!

当UsePAM设置为“no”时,SSH公钥validation失败

要禁用密码auth我已经在我的sshd_config设置了以下值 ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no 当我尝试使用我的私钥login时, Permission denied (publickey). 如果我然后将UsePAM更改为yes ,则可以使用我的私钥进行login。 为什么? 我正在从OSX连接到Ubuntu 12.04 64位主机 ssh -i ~/.ssh/deploy -l deploy localhost -p 2222 -v 这里是详细的ssh输出: OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011 debug1: Reading configuration data /Users/<user>/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying options for * debug1: Connecting to localhost […]

通过盐柱从主人部署SSH密钥

我有两个ssh密钥,我试图部署到我的一个小伙子。 但我似乎无法得到它部署。 它出错了。 以下是支柱中的init.sls : /xxx/yyy/zzz/id_rsa: file.managed: – source: salt://private/id_rsa /xxx/yyy/zz/id_rsa.pub: file.managed: – source: salt://private/id_rsa.pub 这是我的init.sls状态: ssh: file.managed: – name: {{ pillar['private'] }} 我一定是做错了(显然),但我不知道是什么。 有什么build议么?

使用PuTTY进行SSH反向端口转发 – 如何指定绑定地址

使用Putty,我build立了一个反向代理,它允许我在server.tld的服务器的8080端口连接到启动SSH连接的机器的80端口。 服务器允许我在localhost:8080连接,并在服务器上连接时返回initiator:80的结果。 这个问题说启用GatewayPorts并绑定到所有地址。 使用Putty,如何在服务器上公开端口8080,以便在外部接口(例如Web请求)上发出请求时,将端口转发给initiator:80 ?

为什么rsync必须安装在双方工作?

这可能是一个愚蠢的问题,但我想保持一些我的服务器干净,并不想安装任何额外的软件。 但我一直认为rsync会通过SSH复制数据,并不需要rsync远程端? /usr/bin/rsync -a –delete –numeric-ids –relative –delete-excluded –rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01 rsync: command not found

SSH中继服务器与OpenSSH

是否有可能使用OpenSSH中继到其他启用SSH的设备,如路由器交换机等。如果是这样的事情可以做,而不需要在Linux上创build一个定制的应用程序来做到这一点? 谢谢

如何将目录从一台服务器移动到其他服务器?

我有两个服务器的SSH访问权限,其中一个是空的。 如何通过SSH连接将站点目录从旧服务器移动到新服务器? PS:在两台服务器上都是unix