-
Notifications
You must be signed in to change notification settings - Fork 0
[Linux] 使用SSH公钥登录Linux
Jinxin Chen edited this page Dec 11, 2019
·
1 revision
从Windows连接Linux服务器,可以使用用户名、密码登陆,也可以使用ssh key。
如果有如下状况,可以考虑使用ssh key登陆:
- 每次登陆不用输入用户名和密码
- 服务器有多人登陆
访问putty官网,找到下载页,然后下载 Windows Installer
http://www.putty.org/
注意要下载Windows Installer并安装,而不仅仅下载putty.exe。安装包额外包含:
- PuTTYgen.exe(用于生成ssh key)
- Pageant.exe(用于免密登陆,稍后提到)
- 将上一步生成的公钥,复制到服务器的 ~/.ssh/authroized_keys 文件中
- 修改权限,禁止其他用户和组修改该文件信息,将自己的公钥加进来登录:chmod 644 ~/.ssh/authroized_keys
- 配置密钥
- 配置服务器IP
- 配置登陆用户名
- 登陆
如果之前的步骤操作无误,就可以使用ssh key来登陆linux服务器了。
ssh key都是公钥和私钥成对出现,如果别人仅仅拿到公钥,是没办法登陆的。但是如果别人拿到了你的私钥,便可以无需密码就可以登陆Linux系统(私钥可以得到对应的公钥)。
但问题是,别人首先要能拿到你的私钥。你的私钥保存在自己的个人电脑里,别人首先要能够登陆到你的电脑或者其他一些途径窃取到文件,但一般情况下,是很难拿到的。
默认创建的ssh私钥是不带密码的,可以在创建私钥的同时给它加上密码,这样即使别人得到私钥,在不知道密码的情况下仍然无法使用。
但是这又带来一个新的问题:每次登陆需要输入私钥的密码。
Pageant.exe可以用来帮忙做这件事情。它可以将带密码的密钥导入,在输入正确的密码之后,临时将其保存起来,再使用putty登陆时,就可以自动通过Pageant.exe中已经导入的密钥来登录,达到输入一次密码,多次登录的目的。