我公司的生产服务器(FOO,BAR …)位于两台网关服务器(A,B)之后。 为了连接到服务器FOO,我必须打开与我的用户名JOHNDOE服务器A或B的SSH连接,然后从A(或B)我可以访问任何生产服务器打开与标准用户名的SSH连接(让我们称之为威比)。 所以,每次我都要这样做: ssh johndoe@a … ssh webby@foo … # now I can work on the server 正如你可以想象的,当我需要使用scp或者如果我需要快速打开多个连接时,这是一个麻烦。 我已经configuration了一个SSH密钥,并且我正在使用.ssh / config作为一些快捷方式。 我想知道是否可以创build某种types的sshconfiguration来打字 ssh foo 让SSH为我打开/转发所有的连接。 可能吗? 编辑 womble的答案正是我正在寻找,但现在看来,我不能使用netcat,因为它没有安装在网关服务器上。 weppos:~ weppos$ ssh foo -vv OpenSSH_5.1p1, OpenSSL 0.9.7l 28 Sep 2006 debug1: Reading configuration data /Users/xyz/.ssh/config debug1: Applying options for foo debug1: Reading configuration data /etc/ssh_config […]
我期待着这样做,但没有奏效:最后closures了连接。 我们可以通过ssh运行一个脚本,它将login到远程机器,运行一个命令,而不是断开? 所以在一台机器上ssh,cd到这样一个目录,然后运行一个命令,并保持login状态。 -Jonathan (期待我使用) #!/usr/bin/expect -f set password [lrange $argv 0 0] spawn ssh root@marlboro "cd /tmp; ls -altr | tail" expect "?assword:*" send — "$password\r" send — "\r" interact
有没有办法强制SSH在远程端使用特定的shell,而不pipe用户的默认shell是什么? 我试过的解决scheme类似于: ssh host.domain.com /bin/bash -c 'complicated, multi-line command' 但不幸的是,远程端的默认shell负责parsing“复杂的,多行的命令”部分,而且我很难逃脱它,以便为Bash和C shell用户使用。
我正在尝试使用Ansible来自动化新服务器实例的设置过程。 其中一个设置任务改变了默认的SSH端口,因此需要我更新主机列表。 如果无法将连接build立到默认的SSH端口,可以通过让Ansible回退到指定的端口来实现自动化?
我知道有可能通过使用多个Port指令让sshd监听多个端口。 然而,是否可以独立调整每个端口的设置? 特别是,有可能有一个端口允许密码authentication,但另一个端口不允许它?
是否有一个简单的方法来获取在.ssh / authorized_keys ||中input的所有指纹列表 .ssh / authorized_keys2文件? ssh-keygen -l -f .ssh/authorized_keys 将只返回第一行/入口/公钥的指纹 用awk破解: awk 'BEGIN { while (getline < ".ssh/authorized_keys") { if ($1!~"ssh-(r|d)sa") {continue} print "Fingerprint for "$3 system("echo " "\""$0"\"> /tmp/authorizedPublicKey.scan; \ ssh-keygen -l -f /tmp/authorizedPublicKey.scan; \ rm /tmp/authorizedPublicKey.scan" ) } }' 但有没有更简单的方法或SSH命令我没有find?
我有一个现有的SSH密钥(公共和私人),这是用ssh-keygen创build的。 我怎样才能添加评论这个现有的关键?
我不能通过SSH密码login而不是密钥文件。 是的,我知道这是完全不安全的,但在这一点上,我正在closures和左右variables的variables,试图让这个工作。 # $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value […]
有人可以告诉我在哪里可以find在RedHat和SELinux SSHD日志….我想查看日志,看看谁login到我的帐户..
噢,我只是键入“IP链路设置eth0下来”,而我被连接到服务器。 该ssh会话现在卡住超时。 有没有一个关键,我可以按等待超时杀死SSH会话?