美文网首页
设置 SSH 通过密钥登录

设置 SSH 通过密钥登录

作者: Eafrey | 来源:发表于2019-07-17 00:13 被阅读0次

使用一般的密码方式登录服务器的话,容易有密码泄露和被暴力破解的风险。所以一般会将 ssh 的端口设为 22 以外的端口或者禁用 root 账户登录。或者,更好的办法是,使用密钥的方式登录。

设置使用密钥登录的几个步骤:

1.在服务器上制作密钥对

先采用密码登录的方式登录服务器,执行以下命令:

[root@host ~]$ ssh-keygen  <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。

执行完上述命令后,在 root 用户的用户目录中会生成一个.ssh 的隐藏目录,内含两个密钥文件,其中id_rsa为私钥id_rsa.pub为公钥。

2.在服务器安装公钥

执行以下命令,将刚刚生成 的公钥 复制到 authorized_keys,完成公钥的安装

[root@host ~]$ cd ~/.ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys

安装完成后需检查.ssh 目录和 authorized_keys 文件的权限

[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh

3.配置 ssh

编辑 /etc/ssh/sshd_config 文件,添加以下配置项(如果配置过则更改以下配置项):

RSAAuthentication yes
PubkeyAuthentication yes

同时 ,确保当前配置允许 root 用户登录:

PermitRootLogin yes

最后,重启 ssh 服务:

[root@host .ssh]$ service sshd restart

4.下载私钥

通过 scp 拷贝密钥到本地当前目录:

scp root@host:/root/.ssh/id_rsa ./

最后,就可以通过密钥的方式 ssh 远程登录服务器了

 ssh -i ./id_rsa root@host

如果登录的时候报“Permissions 0644 for './id_rsa' are too open.”,则需要将密钥文件的权限进行 修改:

chmod 400 ./id_rsa

然后尝试再次登录就可以了。

相关文章

  • 设置 SSH 通过密钥登录

    使用一般的密码方式登录服务器的话,容易有密码泄露和被暴力破解的风险。所以一般会将 ssh 的端口设为 22 以外的...

  • 2018-11-16

    Ubuntu ssh远程登录 一、ssh登录 首先远程连接可以通过ssh通过密钥或者账户的方式进行登录。这里并...

  • Linux设置SSH密钥以及别名无密码登录

    Linux设置SSH密钥以及别名无密码登录 首先生成使用密钥对 使用ssh-keygen生成密钥对 生成的文件默认...

  • SSH服务基础优化

    SSH服务 提高SSH远程登陆的安全等级选择密钥登录的验证方式 登录端口与监听设置 登录用户限制 登录超时设置修改...

  • ssh秘钥登陆

    设置 SSH 通过密钥登录分类 编程技术我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器...

  • 设置LinuxSSH通过密钥登录

    制作密钥对首先在服务器上制作密钥对。用密码登录到你打算使用密钥登录的账户,然后执行以下命令:[root@host ...

  • 设置LinuxSSH通过密钥登录

    一、制作密钥对 首先在服务器上制作密钥对。用密码登录到你打算使用密钥登录的账户,然后执行以下命令:[root@ho...

  • 使用OpenSSH登录远程主机

    常用的命令行登录远程主机: 使用SSH密钥登录: 生成密钥文件: 上传.pub内容到远程主机的~/.ssh/aut...

  • Linux的PXE实现及Cobbler实现学习笔记

    1、实现sshd免密登录 1.Linux下生成密钥 ssh-keygen的命令手册,通过”man ssh-keyg...

  • Linux SSH日常使用总结

    内容提要 基本的SSH密码登录、SCP文件复制 SSH密钥登录,多台电脑使用相同的密钥;以及使用别名替代user@...

网友评论

      本文标题:设置 SSH 通过密钥登录

      本文链接:https://www.haomeiwen.com/subject/skqflctx.html