美国服务器Linux系统设置SSH免密连接的教程

美国服务器Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和美国服务器主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份

美国服务器Linux系统设置SSH免密连接的教程

来源:美联科技 作者:美联科技小编Zoe 浏览量:160
2019-10-23
0
        美国服务器Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和美国服务器主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种。不过今天美联科技小编带来的是,美国服务器Linux系统如何设置基于 SSH 密钥的身份验证,以及如何免密连接到美国服务器主机的教程。

        1、设置 SSH 无密码登录

        在美国服务器Linux 系统中设置 SSH 免密登录,需要生成公共身份验证密钥并将其附加到远程主机 /.ssh/authorized_keys 文件,以下具体讲解配置 SSH 免密登录的详细步骤。

        1)检查现有的 SSH 密钥对

        在生成新的 SSH 密钥对之前,首先检查美国服务器主机上是否已有 SSH 密钥,主要是为了不覆盖现有密钥。运行以下Is 命令以查看是否存在现有 SSH 密钥:

        Is -al ~/.ssh/id_*.pub

        如果存在现有密钥,可以使用这些密钥并跳过下一步,或备份旧密钥并生成新密钥。如果看到 No such file or directory 或 no matches found 意味着美国服务器没有 SSH 密钥,则可以继续执行下一步并生成新密钥。

        2)生成新的 SSH 密钥对

        以下命令将生成一个新的 4096 位 SSH 密钥对,并将电子邮件地址作为注释:

        ssh-keygen -t rsa -b 4096 -C  Email

        按 Enter 接受则默认文件位置和文件名:

        Enter file in which to save the key(/home/yourusername/.ssh/id_rsa):

        接下来,ssh-keygen 工具将要求键入安全密码,无论是否想要使用密码短语都可以您,如果选择使用密码短语,将获得额外的安全保护。在大多数情况下,开发人员和系统管理员使用 SSH 而不使用密码,因为它们对完全自动化的流程很有用。如果不想使用密码短语,请按 Enter:

        Enter passphrase(empty for no passphrase):

        要确认美国服务器是否已经生成 SSH 密钥,可以使用以下命令列出新的私钥和公钥:

        ls~/.ssh/id_*/home/yourusername/.ssh/id_rsa/home/yourusername/.ssh/id_rsa.pub

        3)复制公钥

        现在已经生成了 SSH 密钥对,为了能够在没有密码的情况下登录到美国服务器主机,需要将公钥复制到要管理的美国服务器主机。将公钥复制到美国服务器主机的最简单方法是使用名为的命令 ssh-copy-id 。在本地主机终端类型:

        ssh-copy-id remote_username@server_ip_address

        系统将提示输入 remote_username 的密码:

        remote_username@server_ip_address's password:

        用户通过身份验证后,公钥将附加到远程用户 authorized_keys 文件,并且将关闭连接。如果由于某种原因, ssh-copy-id 本地主机上没有该实用程序,则可以使用以下命令复制公钥:

        cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

        4)使用 SSH 密钥登录美国服务器

        完成上述步骤后,就能够登录到远程美国服务器主机而不会被提示输入密码,测试口令:

        ssh remote_username@server_ip_address

        2、禁用 SSH 密码验证

        要为美国服务器主机添加额外的安全层,可以禁用 SSH 的密码身份验证。在禁用 SSH 密码身份验证之前,请确保可以在没有密码的情况下登录到服务器,并且登录的用户具有 sudo 权限。

        1)使用具有 sudo 权限的用户或 root 用户,通过 SSH 密钥登录到远程美国服务器主机:

        ssh sudo_user@server_ip_address

        2)打开 SSH 配置文件 /etc/ssh/sshd_config ,搜索以下指令并按如下方式进行修改:

        PasswordAuthentication no

        ChallengeResponseAuthentication no

        UsePAM no

        完成后保存文件并重新启动 SSH 服务:

        在Ubuntu或Debian 服务器上,运行命令:sudo systemctl restart ssh

        在CentOS或Fedora服务器上,运行命令:sudo systemctl restart sshd

        到这里,美国服务器Linux系统SSH免密连接就都设置完毕,之后就是可以通过SSH免密登录操作了。

        关注美联科技,了解更多IDC资讯!
部分文章来源与网络,若有侵权请联系站长删除!