Articles of ssh

用户模式下的mac ssh在相同私钥的root模式下成功

系统configuration: MAC Version : 10.10.5 uname -a Darwin xxxxx-xxxx 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64 问题: 无法使用用户模式使用SSH私钥连接到服务器。 但是具有相同SSH密钥(与用户位置相同)的相同命令对于根authentication正常工作。 输出日志失败(用户级命令): > ssh -v -2A 198.18.144.158 OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /Users/userxyz/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: Connecting to 198.18.144.158 [198.18.144.158] port 22. debug1: […]

在新的EC2实例上设置主机指纹

TL; DR 我可以告诉AWS EC2从AMI启动一个实例,但是保留主机密钥 – 保存在AMI中的/etc/ssh中的密钥 – 而不是生成新密钥并覆盖保存在AMI中的密钥。 完整的问题: 在AWS上,我设置了一个EC2实例作为SFTP主机。 自动化系统(由客户pipe理)将定期将文件传送到那里。 这些系统将通过客户提供的公钥进行authentication。 在EC2实例前面将会有一个弹性IP。 这个IP需要永远保持不变,因为连接到我们的自动化系统依赖于这个恒定性。 在幕后,我想保留在任何时候使用不同的交换EC2实例的能力,并将现有的IP地址与新的服务器重新关联。 (这样做的一些原因是为了启动一个更强大的实例,或者将其他各种服务器整合到一个实例中)。 这种重新关联需要对提供文件的自动化系统是透明的。 但是,我希望自动化系统在我进行这样的切换时会吓坏了,因为它会检测到主机的指纹已经改变。 也许通常这是一件好事,但我相信在这种情况下,因为一个主机应该取代另一个主机,保持身份是适当的。 所以,每当我按照描述交换实例时,我需要将原始主机的公钥复制到新主机中。 实际上,我预计这会自动发生 – 如果我使用相同的AMI来启动这两个主机,但看起来EC2故意将新的公共密钥分配给新的实例,覆盖与AMI保存的任何密钥。 我的问题是什么是达到预期行为的最简单的方法。 我知道如何手动完成,将旧服务器上的密钥复制到新服务器上,并覆盖分配给新服务器的密钥。 但是,我不知道EC2是否有自动或惯用的方式来做到这一点。

如何在已经使用公钥的情况下通过sshd启用Google Authenticator?

我在VPS上运行Debian Jessie。 我想要启用私钥和Google Authenticator通过SSH进入服务器。 我启用了 auth需要pam_google_authenticator.so 在/etc/pam.d/sshd和common-auth中 当我使用“terminal”(使用VPS提供商提供的VNC)login时,它正常工作,但是当我login时,它只是让我通过,而不会提示我inputGoogle Authenticator。 我还可以做些什么?

使用ssh时获取权限被拒绝

我正在尝试使用密钥设置ssh访问权限 – 我已将公钥添加到服务器上的.ssh目录中。 我也重新启动了服务器上的ssh服务。 当我从本地计算机login到服务器时,出现拒绝的消息(以下复制 – 使用v标志)。 我从问题中取代了用户名和IP地址。 任何想法,我可能做错了什么? ssh -v [email protected] OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22. debug1: Connection established. debug1: identity file /home/user/.ssh/id_rsa type 1 debug1: identity file /home/user/.ssh/id_rsa-cert type -1 debug1: identity […]

尝试从一个EC2实例到另一个实例的SCP时,连接超时

我试图从一个ec2实例到另一个(通过SSH客户端)的SCP。 两台服务器都使用相同的密钥。 我最初的调查使我相信,通过使用AgentForwarding这一切都是可能的: scp -o "ForwardAgent yes" -v /path/to/file [email protected]:/path/to/file 创build输出结束于: > debug1: Connecting to xx.xx.xx.xx [xx.xx.xx.xx] port 22. debug1: > connect to address xx.xx.xx.xx port 22: Connection timed out ssh: > connect to host xx.xx.xx.xx port 22: Connection timed out lost > connection 或者,我也试着用-i指定一个密钥文件,但是我只有.ppk和.key文件版本,而不像大多数例子所显示的.pem。 我在/home/ec2-user/.ssh/id_rsa(在.ssh目录下的所有文件都是'config','known_hosts'和'authorized_keys')也没有文件,这似乎是许多人使用的解决scheme。 我已经尝试编辑configuration,并添加AgentForwarding yes也有。 似乎没有任何工作,我最终在所有的尝试中得到同样的时间消息。 我遇到了很多的阻力,所以任何帮助,将不胜感激。 谢谢!

SSH横幅:要求确认

标准的做法是在SSHlogin上通知用户系统属于某人,“你可能会受到起诉”等。但是,这个横幅滚动过去无害。 有什么办法可以让用户回答“你接受吗?/ N”的问题,然后才能继续? (这个问题不是关于有横幅或确认步骤的法律或实际价值,只是在技术上是可能的)

与厨师testing厨房SSH硬化。 如何告诉testing厨房如何连接?

我写了一个厨师食谱,并与testing厨房运行良好。 现在我想通过编写覆盖/ etc / ssh / sshd_config的配方来加强对生产节点的ssh访问。 除此之外,它将ssh端口更改为非默认端口。 当“厨房聚合”后,现在运行“厨房login”,它会失败,因为它不能连接到默认端口。 有没有办法configurationtesting厨房与不同的SSH端口? 还是有不同的方式来做到这一点? 我能否确认配方是否在testing厨房中运行,并且只能在生产环境中更改ssh端口?

通过安装dell drac访问服务器的ssh

我已经安装了一个DRAC 6 express的新版本的r610。 我以前从来没有同居过,也没有我拥有的服务器,因此缺乏知识的道歉。 我试图通过本地networking上的SSH访问我的服务器,但它不会工作。 我的路由器的DHCP为服务器分配了一个本地IP。 每当我尝试通过它的IP连接到服务器,例如192.168.1.45,它连接到戴尔iDrac。 有没有办法解决这个问题,它会发生在公共知识产权吗? 谢谢!

如何在所有远程服务器上并行执行带有args的bash脚本(如果从远程服务器中的远程服务器)

请仔细阅读问题,然后给予解决scheme ……………. 我们在目录中有3个文件 myscript.sh(myscript.sh文件包含许多函数,并从serverlist.txt文件启动/停止所有对/单对,函数如 对于start()函数:检查arg2是全对还是单IP对,然后启动它。 对于stop()函数:它检查arg2是全对还是单IP对然后停止它。 对于rules()函数:它检查arg3是否是new-rules或者same-rules然后拷贝它 对于put_files()函数:它与arg2一起使用,并检查arg2是全对还是单IP对 like: ./myscript.sh put_files all-pair or ./myscript.sh put_files 192.168.20.13-192.168.20.21 2. deployment_function文件:deploymet_function文件以pair的forms从server_list.txt文件中获取IP-Pair。 server_list.txt server_list.txt的conatin会以IP-Pair(C ++ Server-数据库服务器)的forms主机IP。 192.168.20.13-192.168.20.21 192.168.20.22-192.168.20.34 192.168.20.42-192.168.20.45 我的脚本的基本语法: ./myscript.sh arg1 arg2 arg3 其中,arg1 =开始或停止或放置文件 arg2 =全双或单个ip对 arg3 =新规则或相同的规则 我们正在执行我们的脚本在以下几个方面….. ./myscript.sh启动所有对新规则 ./myscript.sh start 192.168.20.13-192.168.20.21新规则 ./myscript.sh停止所有对或 ./myscript.sh stop 192.168.20.13-192.168.20.21 问题:实际上,它的执行很好,但是由于它是连续执行的,所以在所有IP对上执行需要更多的时间。 首先是192.168.20.21,然后是192.168.20.13,然后是192.168.20.34和192.168.20.22 …..当它遇到错误时,在该服务器上停止。 而不是在其余的IP对上执行。 我想在所有的服务器上并行执行myscript,如果出现错误,然后列出该服务器并执行furtur。 所以有没有任何解决scheme,我可以并行执行相同的脚本,而不用改变myscript。 所以请帮我找出正确的方法来做到这一点….

不同的shell在特定的机器上进行SSHlogin

我有没有本地帐户的Active Directory用户,所以他们不能使用chsh 。 他们可以login到多种不同types的服务器,大部分时间/bin/bash是正确的shell,或者至less对于大多数用户来说,他们首选的shell在大多数服务器上都可用。 但是,有几个例外情况。 例如,大多数Mac都通过Homebrew安装了自定义/最近的shell。 他们应该例如保持/bin/bash作为系统shell(没有符号链接作弊!),但通过Homebrew在/usr/local/bin/bash安装了更新的Bash。 这在大多数服务器上不存在的事实似乎阻止了使用AD属性来更改全局默认shell。 是否可以指定sshd为特定计算机上的此类帐户启动的shell(无论login/交互状态如何)? 例外情况往往数量less,迄今为止只发生在希望定制的用户的控制之内的开发机器上。 或者,还有其他AD属性可用于提供更多的粒度(例如,指定/usr/local/bin/bash并且对缺less此path的服务器上的另一个属性具有回退行为)。