Azure 身份核验 使用SSH密钥登录微软云
为什么SSH密钥比密码更安全?
大家好,今天咱们聊聊怎么用SSH密钥登录微软云。相信很多小伙伴都经历过这样的场景:好不容易搭了个云主机,结果发现每次登录都要输密码,而且还得担心密码被暴力破解。别慌,SSH密钥就是你的救星,它比密码安全多了,而且用起来也超简单。今天就带你一步步操作,保证让你笑呵呵地搞定登录问题。
先说为什么SSH密钥这么牛。想象一下,你的云主机门上挂了个密码锁,黑客天天用各种密码组合来试,万一被猜中了,那你的数据就惨了。但SSH密钥不一样,它像一把特制的钥匙,只有你手里有,别人就算知道钥匙的形状也打不开。这种非对称加密的机制,让暴力破解几乎不可能,安全系数直接拉满。
不过很多人一听到‘密钥’就头大,觉得要懂密码学。其实完全不用!就像开锁,你只需要知道钥匙的形状,不用研究里面的齿轮。接下来咱们一步步来,手把手教你怎么生成、上传和使用SSH密钥。
生成SSH密钥对:三步搞定
打开你的终端(Windows用PowerShell,Mac/Linux直接开Terminal),输入这条命令:ssh-keygen -t rsa -b 4096。系统会问你保存路径,直接按回车默认就行。接着会让你输入密码(passphrase),这里我建议设置一个,虽然有点麻烦,但万一私钥被偷,至少多一层保护。想象一下,你的私钥就像保险箱钥匙,如果被偷了,有密码的话,贼还得先破解密码才能打开保险箱。当然,如果你嫌麻烦,可以留空,但风险自己承担哦。
生成完成后,你会在~/.ssh/目录下看到两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。别把私钥随便传给别人,公钥可以随便给。就像你的门钥匙,不能给别人,但锁可以装在门上。
Windows用户别慌,PowerShell也能搞
如果你用的是Windows,别怕,PowerShell一样能搞定。打开PowerShell,输入同样的命令,路径可能有点不同,但操作步骤一模一样。生成后,用Notepad++打开id_rsa.pub,复制内容备用。或者用命令行直接查看:cat ~/.ssh/id_rsa.pub(不过Windows可能用Get-Content,不过实际操作可能用more或者type,不过一般PowerShell里用Get-Content ~/.ssh/id_rsa.pub即可)。
上传公钥到Azure:两种方法
现在公钥有了,得上传到Azure。有两种方法:一是通过Azure门户,二是用Azure CLI命令。先说门户方式:登录Azure官网,找到你的虚拟机,点击‘设置’里的‘SSH public keys’,把公钥内容粘贴进去,保存即可。简单吧?就像把钥匙挂在门上。
第二种方法用CLI,更方便。安装好Azure CLI后,执行:az vm user update -u username --ssh-key-value "$(cat ~/.ssh/id_rsa.pub)"。注意替换username为你自己的账号。这样公钥就自动上传了,省去手动操作的麻烦。不过记得先登录Azure:az login。
配置云主机,开启密钥登录
上传公钥后,还需要在云主机里配置一下SSH服务。登录到你的云主机(这时候可能还是用密码登录),找到/etc/ssh/sshd_config文件,用vim或nano编辑。找到PasswordAuthentication这一行,改成no,保存退出。然后重启SSH服务:systemctl restart sshd(或者service sshd restart,看系统类型)。
这里有个小细节要注意:权限设置。确保~/.ssh目录权限是700,authorized_keys文件权限是600。用chmod命令设置:chmod 700 ~/.ssh,chmod 600 ~/.ssh/authorized_keys。如果权限不对,SSH会拒绝使用密钥,这点很容易忽略,但很重要。
连接测试:成功还是失败?
Azure 身份核验 现在用密钥试试登录:ssh username@your-azure-vm-ip。如果一切顺利,恭喜你!你已经成功用密钥登录了,再也不用输密码了。如果弹出‘Permission denied’,别急,先检查公钥是否正确上传,或者用ssh -v username@ip看详细日志。SSH的错误提示有时候像天书,但仔细看,通常会告诉你哪里不对——比如公钥没放对位置,或者权限太开放。
安全小贴士:保护你的数字钥匙
私钥就像你的身份证,千万别放在公共硬盘或者随手发给同事。我有个朋友,曾经把私钥放在团队共享文件夹,结果第二天发现云主机被黑了,里面的数据全被加密勒索。后来他学乖了,私钥只存本地,还加了密码保护。另外,定期更换密钥也是个好习惯,别让同一把钥匙用太久。
常见问题Q&A
为什么用密钥登录还是提示输入密码?
可能sshd_config里PasswordAuthentication没设为no,或者公钥没正确添加到authorized_keys文件。检查 ~/.ssh/authorized_keys 是否包含你的公钥,权限是否600。
私钥丢了怎么办?
赶紧在Azure里删除旧公钥,重新生成新密钥对,上传新的公钥。同时,记得备份好新的私钥,建议用加密存储。
能不能用同一个密钥登录多台云主机?
当然可以!把公钥复制到每台主机的authorized_keys里就行。不过出于安全考虑,建议每台机器用不同的密钥,这样万一一台被黑,其他机器不受影响。
最后送你一句真心话:安全无小事。用SSH密钥登录微软云,就像给你的数据穿上防弹衣——虽然有点麻烦,但安全系数直接翻倍。下次登录时,你只会觉得:这操作,真香!

