Articles of ssh

SSH公钥authentication

我试图configurationssh使用公钥authentication 链接 / etc / ssh / sshd_config已经有了这个参数。 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication yes 但是我仍然被提示input密码。 如果我使用 PasswordAuthentication no 我无法login 任何build议? 它的工作原理,但只为root用户。 我的问题是,我有这个参数 PermitRootLogin no。 如果我使用的话,我可以用root用户login PermitRootLogin是。 在这个系统中,在这个目录中只有一个/root/.ssh目录是authorized_keys文件 如果在这个系统中没有为每个用户设置一个home / $ USER / .ssh目录和authorized_keys文件,我怎么能把这个添加到其他用户呢? 有没有一种方法来configuration每个用户? 我将需要每个用户不同的authorized_keys文件。 有可能configuration为不同的主机,域或ips? 类似于httpd.conf

为什么我的hosts.deny不能在OSX 10.8上工作?

为了testing它,我将这四行添加到我的/etc/hosts.deny文件中: # /etc/hosts.deny ssh-agent:ALL sshd:ALL 我等了一段时间,然后我试图获得SSH环回IP地址的访问权限。 但我仍然得到这个: $ ssh root@localhost Password: ▊ 我可以访问它。 我甚至尝试添加条目明确拒绝从127.0.0.1访问。

ssh:允许所有用户使用一个IP,并限制一个用户使用公共IP

我在VPN上有一台服务器。 这个服务器有一个公共地址,并有一个gitlab实例。 我希望能够从VPN地址连接任何ssh用户,但限制从公共地址访问git用户。 我怎样才能同时做到这两件事? 我已经像这样限制访问: # Listen on localhost ListenAddress 127.0.0.1 # Listen on public address ListenAddress 1.2.3.4 # Listen on the VPN address ListenAddress 5.6.7.8 我在Ubuntu服务器系统上,使用openssh版本1:5.9p1-5ubuntu1

Unix Shell / SSHconfiguration允许TCP端口转发而不显示命令提示符

我正在运行Debian Linux。 我想有一个用户帐户,只能通过SSH进行连接,而不需要命令提示符。 例如以下内容可以工作(从远程计算机): ssh -D1234 user@myhost 但不会出现命令提示符。 使用像/ bin / false或/ sbin / nologin这样的shell是太严格了,因为它甚至不允许用户login。只允许“退出”或Ctrl + D命令的shell将完成这项工作。 我知道类似的可能只允许SFTP,但我找不到相当于TCP转发。 谢谢

(ssh隧道?)通过具有公共IP的* DIFFERENT *服务器使用私有IP访问远程服务器

我们假设以下主机: localhost :我的笔记本电脑 remoteserver :运行SSH服务器的公有IP的服务器。 private.remoteserver :具有专用IP的服务器,只能从远程服务器访问。 我没有sudo访问远程服务器的权限,所以我无法对root用户进行更改。 问题是 :是否可以通过一个命令从远程服务器访问private.remoteserver上的端口? 我已经玩了一些ssh隧道,没有运气。 如本文所述,它想创build一个到private.remoteserver的SSH别名。 例如,我想从本地主机运行: curl http://private.remoteserver:8080/ 连接到private.remoteserver上的端口8080。 这可能吗?

使用特定于主机的声明更改ssh ControlPath

我有一种情况,需要使用两个不同的SSH密钥访问相同的SSH主机(GitHub)。 这是没有问题的,我可以很容易地通过别名主机名来设置它。 当这个configuration与我的SSH多路复用configuration相结合时,问题出现了。 我似乎无法用主机特定的声明覆盖我的默认ControlPath。 也许这只是它的工作方式? 也许这是一个错误? 难道我做错了什么? 顺便说一句,我在Mac 10.7上。 这是我的configuration: Host * ControlMaster auto ControlPath ~/.ssh/connections/ssh-%r@%h:%p Host github.com-X TCPKeepAlive yes ServerAliveInterval 60 ControlPersist 1h Hostname github.com User git IdentityFile ~/.ssh/id_rsa_X IdentitiesOnly yes ControlPath ~/.ssh/connections/ssh-%r@%hX:%p Host github.com TCPKeepAlive yes ServerAliveInterval 60 ControlPersist 1h 我已经修改了一点点,但似乎总是得到Host *声明中指定的ControlPath。 ssh -T [email protected] 使用id_rsa_X以正确的用户身份login,但在此创build域套接字: ~/.ssh/connections/[email protected]:22 而不是: ~/.ssh/connections/[email protected]:22 所以后来当我尝试使用id_rsa发出SSH命令时,由于连接复用,我得到了id_rsa_X用户。 换一种说法: ssh -T […]

在openssh中,我可以指定一个命令来执行每个login尝试?

我得到了很多的SSHlogin攻击,并希望减less它们。 有没有什么办法可以指定一个命令openssh来执行并检查其返回值,只允许login尝试,如果此命令返回0? 这背后的原因是,我想能够有更复杂的login规则,我可以在脚本中表示,而不是通过简单的基于filewall / ip的规则。

为什么我每天都要用密码login到ssh?

当我尝试使用ssh-agent中的encryption密钥ssh时,我得到以下(使用ssh -vvv ): debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/cowens/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: pkalg ssh-rsa blen 279 debug2: input_userauth_pk_ok: BLAH debug3: sign_and_send_pubkey: RSA BLAH debug3: input_userauth_banner Access denied Access denied Connection closed by BLAH 我可以login,如果我强迫它使用密码( ssh -o PreferredAuthentications=keyboard-interactive -o […]

木偶系统的木偶sshkey集合

在我的系统上,我使用导出的资源和资源集合来pipe理系统的/ etc / ssh / known_hosts引用 。 这对我所有通过木偶pipe理的SSH主机都很有效。 但是我也有系统不是由木偶(交换机,路由器等)pipe理,我没有任何立即计划开始pipe理它们。 有没有什么优雅的方式来获得这些非托pipe系统的主机密钥到puppet? 现在我只把他们全部放在一个丑陋的class级里,但是一定有更好的办法。 我曾经想过要把这些主机的密钥移到hiera或其他东西上,但是我还没有find一个不难看的解决scheme。 有没有人有一个很好的方法/模式,我可以在这里遵循?

无需提示即可将远程主机添加到known_hosts文件中

我写了一些脚本,并希望将远程主机添加到我的known_hosts文件中,而不进行任何交互。 我可以运行一个像ssh -o "StrictHostKeyChecking no" [email protected]这样的命令,它将把远程主机密钥添加到我的已知主机,但是之后会有一个ssh密码提示符。 任何方式没有密码提示做到这一点?