360°网站管家_运维学院_提供最新最全的服务器运维视频教程与网站维护视频教程

标题: SSH 用密钥登入linux服务器教程 如何使用Add SSH Key [打印本页]

作者: 360网站管家    时间: 2015-10-19 12:07
标题: SSH 用密钥登入linux服务器教程 如何使用Add SSH Key
生成密钥

这里推荐使用 Xshell 生成密钥,不仅方便而且不会出现 Putyy 的 Server refused our key 问题。所以我 SSH 终端连接工具,推荐使用 Xshell,这货有中文支持。Putty 官方没有中文版,中文版有没有其他作者留下的后门我不敢保证。

Linux 系统生成密钥

登录远程 Linux  服务器,执行如下命令:
[url=]复制代码[/url]
  • root@ECSserver:~# ssh-keygen -t rsa //先运行这个命令。默认应该是 2048 加密
  • Generating public/private rsa key pair.
  • Enter file in which to save the key (/root/.ssh/id_rsa): //直接回车
  • Created directory '/root/.ssh'.
  • Enter passphrase (empty for no passphrase): //输入密钥密码(不要就回车)
  • Enter same passphrase again: //重复密钥密码(不要就回车)
  • Your identification has been saved in /root/.ssh/id_rsa. //提示公钥和私钥 放在/root/.ssh/目录下
  • Your public key has been saved in /root/.ssh/id_rsa.pub




/root/.ssh/下面的id_rsa和id_rsd.pub妥善保存。

Putty

只需要用到 Putty 的 PuTTYgen 工具,这里是下载地址:(由于 Putty 挂马、非官方的太多,所以公布一下链接地址:http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
原谅我经常使用 Xshell,Putty 有些生疏。
步骤一
打开软件,点击 Generate ,然后晃动鼠标(你不晃就不会有进度),帮助生成密钥文件。


步骤二


然后我们点击 save public key 和 save private key 保存公钥和私钥,你也可以再摸索一下,有地方添加密码的!
步骤三


在 Putty 设置中找到如下路径,然后打开你保存的 私钥。(来自 Vobe.io)

Xshell

Xshell 是一款 Windows 下面功能强大的 SSH 客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理、复制粘贴快捷键、字体和模板美化、简体中文支持等,无论是老鸟还是菜鸟都是非常适合使用!
步骤一


点击 工具——新建用户密钥生成向导。
步骤二




密钥类型选择 RSA,密钥长度大于 1024 即可,这里推荐 2048 bit。
步骤三


你可以输入密码也可以不输入,输入密码明显更安全。
步骤四


完成后不要马上点击完成,要保存为文件。

上传公钥到服务器

步骤一
用 winscp 、FileZilla(推荐)等支持 SFTP 的工具,将 id_rsa.pub(公钥) 文件上传到/root/.ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys 并修改文件权限为 600 。
如果是在Linux服务器上生成的密钥执行:mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys),再执行:chmod 600 /root/.ssh/authorized_keys 修改权限。
步骤二
vi /etc/ssh/sshd_config 文件(可以通过 SFTP 工具,也可以通过 Vim),将 RSAAuthentication 和 PubkeyAuthentication 后面的值都改成 yes ,保存并上次。
步骤三
引用
重启 SHH 服务,可以执行 /etc/init.d/ssh restart ; 或者 service ssh restart

注: Deiban / Ubuntu 一般 SSH 叫 ssh ,Centos 等 RHEL 系 一般 SSH 叫 sshd

客户端测试登入

不要着急一步一步来,如果直接一步到位,如果你密钥弄错了什么的,你就真的登入不了 SSH 了!来自 Vobe  

Putty



上面我们已经添加了 私钥 文件在 Putty 了。
登入你所设置密钥的 服务器,一般直接就登入了。如果设置了密钥密码,出现:Passphrase for key "imported-openssh-key"时输入密钥密码。

Xshell




登入 服务器 的时候,选择 Public Key 下面,选择对应的用户密钥,输入密码(没有就空着),点击确认就可以登入了!

禁止密码登入


我们上面已经测试了,我们能够成功用密钥登入 SSH 了,那么现在就可以禁止用密码登入了!
步骤一
vi /etc/ssh/sshd_config 文件, 将PasswordAuthentication yes 修改成 PasswordAuthentication no
步骤二
[url=]复制代码[/url]
  • 重启 SHH 服务,可以执行 /etc/init.d/ssh restart ; 或者 service ssh restart


注: Deiban / Ubuntu 一般 SSH 叫 ssh ,Centos 等 RHEL 系 一般 SSH 叫 sshd

提示
Xshell 有完整的密钥管理程序,而 Putty 则没有,所以要保护好密钥程序。


本文来自:https://www.vobe.io/143 欢迎交流
教程粗陋,欢迎补充!
[ 此帖被ivmmff在2015-08-06 22:53重新编辑 ]











欢迎光临 360°网站管家_运维学院_提供最新最全的服务器运维视频教程与网站维护视频教程 (http://bbs.360wzgj.com/) Powered by Discuz! X3.2