没有密码的ssh访问

sha*_*nuo 1 linux ssh upload

我知道如果在两台服务器上都设置了身份验证密钥,则可以在没有密码的情况下通过 ssh 连接到另一台服务器。但我想知道是否有可能允许来自任何 IP(已知/未知)的用户通过无密码 ssh 访问一个目录,在那里他们可以以最简单的方式保存他们的东西?

我正在寻找 SSH 解决方案,而不是 FTP。

mik*_*ikl 6

我认为最安全的解决方案是为每台机器生成一个无密码的 SSH 密钥,并将其添加到另一台机器的 authorized_keys 列表中。

在机器 1 上(作为登录到另一台服务器的用户):

$ ssh-keygen -t rsa
$ ssh-add ~/.ssh/id_rsa
$ cat .ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

如果 keygen 要求您输入密码,只需按 Enter 键即可创建无密码密钥。

在机器 2 上:

  1. ~/.ssh/authorized_keys为您登录的用户创建或编辑。
  2. id_rsa.pub(确保它是.pub文件,而不是私钥)的内容添加到文件中。所有的id_rsa.pub都应该放在一条线上。

完成后,您应该可以从机器 1 执行此操作:

$ ssh username@machine-2
Run Code Online (Sandbox Code Playgroud)

无需输入密码即可登录。scp/sftp 也是如此。

如果这不起作用,请确保您PubkeyAuthentication yes/etc/ssh/sshd_config