Articles of ssh

如果我更改了Linux服务器上的root密码,如果他们为root用户创build了一个SSH authorized_key,还能访问root吗?

我甚至不确定我是否问得对。 任何时候有人提到改变root密码,他们提到改变/etc/passwd ,或者只是使用passwd命令,但是我从来没有听说过必须在authorized_keys文件中改变它。 我在哪里可以find这种情况,以及如何安全地删除一个条目或者在不引起破坏的情况下更改这个条目? 谢谢!

为什么'pkill /?' 杀了我的SSH会话?

通过SSH以root身份运行以下命令(bash)之后: pkill –help pkill -h pkill /? 前两个命令没有提供任何信息,这就是为什么跑第三(有点本能…)。 接下来发生的事情是,我的服务器的SSH会话closures,它不会重新连接。 我猜测它停止了所有(或大部分)正在运行的进程,包括负责此类进程的守护进程。 我想了解为什么会发生这种情况:我的input的具体评估(分步)是什么,它是什么原因导致的。 我最好的猜测是,它与贝壳评价'?'有关。 字符,这可能转化为一些单字符expression式的列表,这些expression式被传递给pkill,然后closures这些PID。

为什么我不能ping我刚刚build立的亚马逊web服务EC2实例?

我正在关注如何在Ubuntu上设置一个EC2实例,但是qhen试图在我的IP地址上执行ssh命令,我有一个操作Timeout。 所以我试图平了,但也没有机会。 有请求超时 任何想法做什么使它工作? 我的仪表板上的状态为绿色。 谢谢 !

Linux – 如何pipe理root的密码?

我们刚刚部署了一些Linux服务器。 每个系统pipe理员将在服务器上有他自己的帐户(即:jsmith),并将使用SSH连接证书,该证书将被放入主目录中的“authorized_keys”文件中。 一旦在服务器上连接,如果他们想发出一个提升的命令,他们会这样做: sudo ifconfig 然后他们将inputroot密码。 我现在想知道的是pipe理root密码的最佳实践。 我应该改变它吗? 我该如何与系统pipe理员分享新密码? **当然,我将禁用SSH根login。

限制失败的SSHlogin

我想限制Fedora机器上的失败重试次数为5.我想我可以用PAM来完成。 但是无法做到这一点。 我已经提到这篇文章来做到这一点 http://www.puschitz.com/SecuringLinux.shtml 请提供build议

在不同的环境中,许多系统上的IP相同

我在有多个位置的环境中工作,并且在每个位置我们有相同的IP寻址scheme,也就是说,我们有许多共享相同IP地址的机器(每个位置一个)(主机名不同)。 当然,这些地点之间没有沟通,也没有DNS。 我依次打开VPN隧道连接到每个位置。 我的工作站是Linux。 我正在努力开发一个系统,让我在这种环境下尽可能安全地工作。 我想直接使用主机名而不是IP地址,因为我们有一个易于记忆的命名约定。 到目前为止,我遇到的问题是:1)错误login到不同的机器,因为隧道是打开到错误的位置,2)ssh具有不同的主机具有相同的IP,但已知主机中的主机名不同,拒绝连接。 到目前为止,我正在考虑为每个位置(例如/etc/hosts.location1)创build不同的/ etc / hosts和〜/ .ssh / known_hosts文件,并使用位置切换脚本通过复制版本为我的目标位置定制的默认文件(例如cp /etc/hosts.location1 / etc / hosts)。 理想情况下,这个脚本最终将与我用来打开VPN到不同位置的软件集成在一起。 我的问题是:有没有更好的方法来做到这一点? 有没有在ssh或linux名称parsing,我错过了任何function? 非常感谢。 编辑:这是一个生产环境,我正在寻找一个工作站解决这个问题。

弹性beanstalk访问私人git回购

我正在尝试使用.ebextensions命令为我的弹性beanstalk实例添加一个ssh密钥。 我存储的密钥在我的应用程序代码中,我尝试将它们复制到根.ssh文件夹,以便以后在执行git + ssh克隆时可以访问它们 这里是我的.ebextensions文件夹中的configuration文件的一个例子 packages: yum: git: [] container_commands: 01-move-ssh-keys: command: "cp .ssh/* ~root/.ssh/; chmod 400 ~root/.ssh/tca_read_rsa; chmod 400 ~root/.ssh/tca_read_rsa.pub; chmod 644 ~root/.ssh/known_hosts;" 02-add-ssh-keys: command: "ssh-add ~root/.ssh/tca_read_rsa" 问题是我试图克隆回购时得到的是一个错误 Host key verification failed. 我尝试了很多方法尝试将主机添加到known_hosts文件,但没有任何工作! 执行克隆的命令是npm install,因为repo指向节点模块

通过主机名将ssh连接转发到docker容器

我已经进入了一个非常具体的情况,虽然还有其他方法可以做到这一点,但我还是有点沉迷于此,想find一种方法来做到这一点: 背景 假设我有一台服务器运行多个服务,并将其隐藏在独立的docker集装箱中。 由于大多数这些服务都是http,我正在使用一个nginx代理来向每个服务公开特定的子域名。 例如,节点服务器在端口80绑定到主机上的127.0.0.1:8000的Docker容器上运行。 我将在nginx中创build一个虚拟主机,将所有对myapp.mydomain.com请求代理到http://127.0.0.1:8000 。 这样一来,除了通过myapp.mydomain.com之外,docker容器不能从外部访问。 现在我想以gogs.mydomain.com指向gogs容器的方式启动一个gogs docker容器。 所以我启动这个在端口8000绑定到127.0.0.1:8001 gogs容器 。 和一个nginx网站代理请求gogs.mydomain.com到http://127.0.0.1:8001 ,它运作良好… 然而,gogs是一个git容器,我也想通过[email protected]:org/repo访问repos,但是不能用于当前的设置。 一种方法是将容器的端口22绑定到主机上的端口0.0.0.0:8022 ,然后git ssh url可以是[email protected]:8022/repo 。 (这似乎并没有工作;当我推到这样的uri的起源,git要求gogs.mydomain.com用户git的密码 – 而不是gogs.mydomain.com:8022 – 但这可能是我'这个问题做错了,也不在这个范围之内,不过,我也希望对此有任何诊断) 问题 我主要关心的是,我希望ssh端口<gogs container>:22被代理,就像我使用nginx代理http端口; 即任何SSH连接gogs.mydomain.com传递到容器的端口22 。 现在我不能将容器的ssh端口绑定到主机的ssh端口,因为主机上已经有一个sshd运行了。 此外,这将意味着任何连接到*.mydomain.com传递到容器的sshd。 我想要任何SSH连接: mydomain.com host.mydomain.com或mydomain的IP地址被接受并转发到主机上的sshd gogs.mydomain.com或git.mydomain.com被接受传递到gogs容器上的sshd *.mydomain.com (其中*是上述可能性以外的任何内容)被拒绝 如果是http,我可以通过nginx轻松完成这项工作。 有没有办法做到这一点的SSH? (也想出去,问:有没有一种方法可以完成任何 tcp服务?) 任何对我在这里尝试的方式的洞察也是受欢迎的。 我不介意被告知什么时候我想做的事完全是愚蠢的。 我脑海里已经有了什么: 也许我可以共享主机上的sshd套接字容器作为ro卷? 这将意味着容器内的sshd可以获取到*.mydomain.com所有连接。 有没有办法让容器内的sshd 拒绝除gogs.mydomain.com或git.mydomain.com之外的所有连接? 然而,主机上的sshd会收集所有到*.mydomain.com的连接,包括gogs.mydomain.com ; 所以会有冲突。 我不知道,我实际上没有尝试过。 我应该尝试吗?

什么可能导致消息“执行请求失败的通道0”出现

我试图发送一个非交互式的ssh命令给HP自动化服务器的代理,而我可以ssh和交互式input它完全罚款,我总是会收到消息“执行请求失败通道0”试图发送非交互式命令。 有什么我可以改变在客户端让我发送命令? 在服务器端我可以改变的东西并不多。 显然这是可能的,但我不能让我的安装工作(请参阅链接: https : //community.hpe.com/t5/Network-Automation-Practitioners/Is-there-a-way-to-issue- a-NA-proxy-using-SSH-non / mp / 6935003 / highlight / false#M2821 ) 如果有帮助,这里是我的操作系统和openssh版本的详细信息: OpenSSH_7.2p2, OpenSSL 1.0.2j-fips 26 Sep 2016 NAME="openSUSE Leap" VERSION="42.2" ID=opensuse ID_LIKE="suse" VERSION_ID="42.2" PRETTY_NAME="openSUSE Leap 42.2" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:leap:42.2" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" 谢谢

ForwardAgent在Jenkins

我试图在“通过SSH发布”jenkins插件启用ForwardAgent。 这将允许jenkins在远程服务器上执行部署,rsyncs和svn + ssh checkout。 但在GUI中没有这个选项。 在/ etc / ssh / ssh_config和/var/lib/jenkins/.ssh/config中将ForwardAgent设置为yes,但是当Jenkins作业通过sshlogin时,远程会话没有在代理中加载密钥。 (“无法打开与您的身份validation代理的连接”。) 有没有办法强制ForwardAgent,或更好的方式来做到这一点(通过jenkins奴隶)? 感谢您的任何想法,非常感谢!