阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 16186阅读
  • 3回复

或许是 SSH 用密钥登入最实在的教程了

级别: 论坛版主
发帖
9349
云币
14165
— 本帖被 ivmmff 从 云服务器ECS 移动到本区(2015-08-31) —
引用
|B njT*_9  
阿里论坛有人跟我说用了 AWS 觉得阿里云没有安全组很不爽,而我则是用惯了 VPS 用 AWS 反而/*字体样式,字体阴影*/ zlZ$t{[,  
*:not([class*="icon"]):not(i){font-family: "微软雅黑" !important;} 5BCXI8Ox9x  
/* 7y:%^sl  
*:not([class*="icon"]):not(i){font-family: "思源黑体 Regular" !important;} 0'`>20Y  
*/ g4(B=G\j  
*{text-shadow:0.00001em 0.0001em 0.01em #999999 !important;} Zf}]sW$H  
不适。AWS 的可以在控制台设置密钥登入,我觉得这个确实很方便,但是阿里云的控制台没有这个功能,那么好,我们完全可以己动手丰衣足食。今天就教大家如何用密钥登入 SSH 终端。 O^48c$Apv  
T>s~bIzL*e  
用密钥登入 SSH 的好处就是不不修改 SSH 的 22 端口,别人要通过终端黑你,连个猜密码的地方都没有,没有文件就没办法。 当然了,还是推荐你改端口等,毕竟高手多啊。
uPc}a3'?  
.t''(0_kC  
a:Js i=  
生成密钥 XtVx H4q  
vFL Qq,?Nh  
这里推荐使用 Xshell 生成密钥,不仅方便而且不会出现 Putyy 的 Server refused our key 问题。所以我 SSH 终端连接工具,推荐使用 Xshell,这货有中文支持。Putty 官方没有中文版,中文版有没有其他作者留下的后门我不敢保证。 pb1/HhRR^n  
?9nuL}m!a  
Linux 系统生成密钥 +uKh]RP  
.ml24SeC  
登录远程 Linux  服务器,执行如下命令:  {A]"/AC  
  1. root@ECSserver:~# ssh-keygen -t rsa //先运行这个命令。默认应该是 2048 加密
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa): //直接回车
  4. Created directory '/root/.ssh'.
  5. Enter passphrase (empty for no passphrase): //输入密钥密码(不要就回车)
  6. Enter same passphrase again: //重复密钥密码(不要就回车)
  7. Your identification has been saved in /root/.ssh/id_rsa. //提示公钥和私钥 放在/root/.ssh/目录下
  8. Your public key has been saved in /root/.ssh/id_rsa.pub
:}}5TJwG  
Tz3 L#0:j  
]#;;)K}>  
/root/.ssh/下面的id_rsa和id_rsd.pub妥善保存。 ED&>~~k)  
DZ -5A  
Putty 4Tgy2[D?q  
ms8de>A|H  
只需要用到 Putty 的 PuTTYgen 工具,这里是下载地址:(由于 Putty 挂马、非官方的太多,所以公布一下链接地址:http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe $L_-U~^  
原谅我经常使用 Xshell,Putty 有些生疏。 Nw[TP G5  
步骤一 +<7~yZ[Z8  
打开软件,点击 Generate ,然后晃动鼠标(你不晃就不会有进度),帮助生成密钥文件。 UXwnE@`F  
3 ha^NjE  
reJw&t}Q  
步骤二 OjTb2[Q  
L#mf[a@pCn  
-qaJ@T+J+7  
然后我们点击 save public key 和 save private key 保存公钥和私钥,你也可以再摸索一下,有地方添加密码的! b{JcV  
步骤三 "/[xak!g  
5'wWj}0!%  
&SuWmtq  
在 Putty 设置中找到如下路径,然后打开你保存的 私钥。(来自 Vobe.io) `~0)}K.F  
TtTp ,If  
Xshell l#u$w&  
EYWRTh  
Xshell 是一款 Windows 下面功能强大的 SSH 客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理、复制粘贴快捷键、字体和模板美化、简体中文支持等,无论是老鸟还是菜鸟都是非常适合使用! LG3D3{H(.  
步骤一 :b t;DJ@  
-P#PyZEH&I  
Gy 0 m  
点击 工具——新建用户密钥生成向导。 _wMxKM  
步骤二 tN P>6F/  
nk=+6r6  
[Z~h!}  
%L(;}sJ.  
-yyim;Nj  
密钥类型选择 RSA,密钥长度大于 1024 即可,这里推荐 2048 bit。 ZNWo:N8;  
步骤三 q,S[[{("  
b7-M'-Km0_  
t<=Ru*p  
你可以输入密码也可以不输入,输入密码明显更安全。 2tPW1"M.n  
步骤四 xAJ N(8?  
)B"k;dLm  
6!F@?3qCyg  
完成后不要马上点击完成,要保存为文件。 2S%[YR>>  
!@>_5p>q*  
上传公钥到服务器 0 PdeK'7  
'N aNh0y  
步骤一 &.W,Hh  
用 winscp 、FileZilla(推荐)等支持 SFTP 的工具,将 id_rsa.pub(公钥) 文件上传到/root/.ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys 并修改文件权限为 600 。 arVu`pD*n  
如果是在Linux服务器上生成的密钥执行:mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys),再执行:chmod 600 /root/.ssh/authorized_keys 修改权限。 1f}YKT  
步骤二 ky4 ;7RK  
vi /etc/ssh/sshd_config 文件(可以通过 SFTP 工具,也可以通过 Vim),将 RSAAuthentication 和 PubkeyAuthentication 后面的值都改成 yes ,保存并上次。 *Wbs{>&No  
步骤三 H){}28dX  
引用
重启 SHH 服务,可以执行 /etc/init.d/ssh restart ; 或者 service ssh restart
J!{"^^*  
注: Deiban / Ubuntu 一般 SSH 叫 ssh ,Centos 等 RHEL 系 一般 SSH 叫 sshd 8Dy5g  
ws/e~ T<c  
客户端测试登入 >T{Gl/? p  
f%,Vplb  
不要着急一步一步来,如果直接一步到位,如果你密钥弄错了什么的,你就真的登入不了 SSH 了!来自 Vobe :zA/~/Wo  
8U8%XIEJ  
Putty D;1?IeS  
*r)/Vx`S  
I8x,8}o>V  
,|}}Ml  
上面我们已经添加了 私钥 文件在 Putty 了。 !l6Ez_'  
登入你所设置密钥的 服务器,一般直接就登入了。如果设置了密钥密码,出现:Passphrase for key "imported-openssh-key"时输入密钥密码。 {{:QtkN  
1j_gQ,'20  
Xshell |lDxk[  
N4HIQ\p  
nsA}A~(E  
"1P[D'HV4|  
@1w[~QlV  
登入 服务器 的时候,选择 Public Key 下面,选择对应的用户密钥,输入密码(没有就空着),点击确认就可以登入了! qkbGM-H%U  
y:HH@aa)  
禁止密码登入 vZiuElxKi  
tFEY8ut{  
V?L8BRnV  
我们上面已经测试了,我们能够成功用密钥登入 SSH 了,那么现在就可以禁止用密码登入了! ]Y3NmL  
步骤一 PQd*)6K:A  
vi /etc/ssh/sshd_config 文件, 将PasswordAuthentication yes 修改成 PasswordAuthentication no e S: 8Pn  
步骤二 |LLDaA-=0  
  1. 重启 SHH 服务,可以执行 /etc/init.d/ssh restart ; 或者 service ssh restart
{ 1eW*9  
注: Deiban / Ubuntu 一般 SSH 叫 ssh ,Centos 等 RHEL 系 一般 SSH 叫 sshd h}y]Pt?  
/2f  
提示 d=nv61]  
Xshell 有完整的密钥管理程序,而 Putty 则没有,所以要保护好密钥程序。 ]?7q%7-e.a  
un F=";9H  
@B`nM#X#  
本文来自:https://www.vobe.io/143 欢迎交流 rRvZG&k  
教程粗陋,欢迎补充! 29HyeLB@  
[ 此帖被ivmmff在2015-08-06 22:53重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +4
dongyanghm 云币 +4 优秀文章-欢迎进行技术分享,感谢你的支持! 2015-07-28
级别: 科学怪人
发帖
9441
云币
14683
只看该作者 沙发  发表于: 2015-07-28
学习下下 感谢分享
级别: 程序猿
发帖
264
云币
332
只看该作者 板凳  发表于: 2015-07-28
优秀文章-欢迎进行技术分享,感谢你的支持!
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 地板  发表于: 2015-07-28
回 2楼(dongyanghm) 的帖子
终于不是老是自己给别人加分了
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 84 + 9 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)