Articles of ssh

基于用户名的SSH代理

我试图根据传入的用户名即两个ssh服务器之间多路复用 ssh user1 @ testserver将转到一个sshd实例,user2 @ testserver转到另一个。 可以这样做吗?

在服务器上使用SSH时没有账号密码?

我们的服务器已禁用基于密码的SSHlogin ,只能使用公钥。 当我用adduser添加新用户时,它会提示input密码,但是我不能将它留空。 当我生成一个随机的邮件给用户,即使他们不需要它的通知, 人们会感到困惑 ,写信给我,他们无法用他们的密码login。 那么这里最好的做法是什么? 设置密码一次,忘记它,不要告诉他们 使用不同的命令创build一个没有密码的用户 继续给他们的密码,以防万一他们需要它的东西(例如,以后得到sudo访问,这是不太可能)

与Shellinabox的密钥对?

我有一个密钥对Amazon EC2实例,我想设置shellinabox,所以我可以从任何网页浏览器ssh。 然而,shellinabox似乎只允许密码login,我无法find任何方式来启用密钥对login。 shellinabox是否允许使用密钥对进行login? 编辑:忽略目前的安全问题(说这是在一个可信赖的networking)

AWS ec2用户权限被拒绝

我在Amazon Linux AMI上有我的Apache HTTP服务器 。 我试图通过SSH以ec2用户的身份在我的根目录子文件夹上安装Prestashop。 cd /var/www/html 但是当我试图创build一个目录 mkdir prestashoptest 我总是得到这个错误 mkdir: cannot create directory 'prestashoptest': Permission denied 我该怎么办? 我如何获得完整的许可?

Google身份validation器/ SSH:每个用户拥有多个共享密码,并可以共享用户的共享密码

如本文所述,我想将Google的身份validation器应用程序添加到我们的SSH身份validation工具链中 但是,PAM模块似乎基本上在“linux用户”和“authentication用户”之间build立了硬连接。 这给我们带来以下两个问题: 如果我们在系统上有多个用户(用于多种不同的目的),那么在他们之间共享谷歌authentication方法(TOTP共享秘密)是困难的(不可能)。 如果多个真实的用户想要login同一个linux用户,这就迫使我们在真实用户中分享这个秘密。 在标准的SSH方法中,任何真人的密钥都可以添加到任何给定的linux用户的authorized_keys中,这些问题是不适用的。 如何在Google-pam设置中创build相应的对等项?

Terraform在改变基础设施时是否处理“known_hosts”? 如果是这样,怎么样?

我对地形很陌生,所以也许这不是一个很好的问题。 但是我正在运行[这个Amazon EC2示例],并且一度尝试SSH到机器,我假设要安装nginx。 这总是为我而爆炸,我只是看到重复尝试login到服务器。 我想到,也许这是因为在第一次login尝试时,SSH要求我信任远程机器并将其添加到known_hosts文件中。 我(无形中)提示这一点没有意义。 所以现在我想知道,terraform究竟是如何处理known_hosts的。 我克隆了回购,并通过它为known_hosts grepped,但什么也没有find。

更改networking设置的根服务器 – 如何避免被拒绝?

我只是在办公室里的一个本地Linux服务器上工作,通过SSH连接到它。 我改变了一些networking设置。 具体来说,我添加了一个简单的网桥,取代了以前的以太网连接(eth0)。 在这两种情况下,networking地址都是静态的IPv4地址。 在我做了这些更改并使用systemctl restart systemd-networkdnetworking守护进程后,我被locking,无法重新login到计算机。 幸运的是,我有权访问物理控制台。 虽然重新启动networking确实为我提供了正确地址的新网桥,但它并没有从eth0中删除地址 – 即使所有的configuration设置都是正确的。 所以,我不得不手动ip a flush eth0 ,并且我正在备份和运行。 我猜如果这是远程位置的根服务器,而不是本地机器,我现在看起来很老了。 我应该做些什么不同的事情呢? 更新:从目前为止提供的两个答案,我看到我应该更清楚。 我完全知道所有硬件选项如何保留访问我的站。 因为我拥有并使用它们,所以我可以很好地调用某些更改,以免发生不好的事情。 这是一个麻烦,但我可以通过串行控制台login,一切都很好。 但是我想知道,如果我没有他们,那么你们怎么去改变networking设置,这在理论上可以和你断绝呢? 坦率地说,我也只是想知道为什么我的eth0接口保持旧的IP地址,即使我用新的设置重新启动networking服务? 对我来说,这看起来并不像我想要的那样。

OpenSSH将<IPv6>%2添加到known_hosts

当我使用IPv6连接到CentOS 7主机时,即使此主机的主机密钥(使用主机的IPv6地址)已经存在于known_hosts我的ssh客户机也始终将<IPv6 host addr>%2到known_hosts 。 %2代表什么? 我正在使用来自CentOS 7的未经修改的OpenSSH,版本是6.6.1p1-25,版本是25.el7_2。 更新:评论提到的名称parsing可能是一个问题。 事实上,我正在客户机上使用systemdparsing。 当我从/etc/nsswitch.conf选项)中删除时,问题不再发生。 这是与systemd-resolved-219-19.el7_2.7.x86_64 )。 更新(2017年2月):我只注意到systemd-resolved错误4465,所以我注意到的行为是/只是一个错误,将在systemd的更高版本中修复。

用openssl或ssh-keygen生成ssh密钥

我想要生成一个SSH密钥对,但我遇到了两种不同的方式做。一个是使用openssl,另一个是ssh-keygen。 这两种方法的结果/最后的关键是否有区别?

在远程服务器上的错误的SSHconfiguration。 无法login

我意外地在远程的debian机器上更改了ssh_config而不是sshd_config。 每当我尝试login,我得到 /etc/ssh/ssh_config: line 55: Bad configuration option: permitrootlogin /etc/ssh/ssh_config: terminating, 1 bad configuration options 我怎样才能远程解决这个问题?