SSHloginVS SSHauthentication

我build立了一个新的系统。 我必须使用ssh XXXX @ XXXXXX来login。 它不会让我通过telnetlogin。 但我没有设置任何键。 所以没有什么可以检查的。 谁可以给我解释一下这个? 另外我有另一个系统与SSH和密钥,但它要求用户input密码,而不是通过短语? 谢谢。

你必须让你的问题更清楚才能得到更好的答案,但是你不需要通过sshlogin密钥。 您可以使用您尝试login的用户的密码。

如果现在您的系统不允许您尝试通过密码进行身份validation,则可能会将其configuration为需要公钥身份validation。 编辑服务器上的/etc/ssh/sshd_config文件,并确保PasswordAuthentication设置为yes

Telnet是与SSH不同的协议,不能交替使用这两个协议。 而不是telneting你的主机,你需要“ssh”使用SSH命令行客户端或类似PuTTy在Windows中。

我不确定你的意思是“没有什么可检查”,默认情况下,SSH允许使用密码和基于密钥的身份validation。

对于其他系统,您必须确保已将键设置在正确的位置。 它的工作方式是:

  1. 用户mike trys运行ssh [email protected]
  2. 系统默认会在/home/mike/.ssh/id_rsa中查找ssh私钥。
  3. 如果密钥有一个密码,它会提示你,如果没有,它只会使用它。
  4. 另一方面,hosta会查看/home/mike/.ssh/authorized_keys里面的内容,看看是否有与该私钥相匹配的公钥,如果发现它将对您进行身份validation,否则将继续进行正常的密码validation。

如果你试图以用户bob而不是mike的方式运行ssh,谁没有正确的密钥(或者根本没有),那么你将不会得到提示input密钥密码,而远程方框会提示你input密码。

如果您想从头开始设置密钥validation:

  1. ssh-keygen -t rsa(默认情况下,但是你应该使用密码)
  2. cat /home/username/.ssh/id_rsa.pub(复制输出)
  3. 将上述命令的输出粘贴到远程主机上的/home/username/.ssh/authorized_keys
  4. ssh到远程主机使用你创build密钥的用户与你授权密钥文件的用户。