用Putty登录Linux服务器的时候,每次要输入用户密码比较麻烦,可以采用生成密钥的方式来免密登录。把公钥放在Linux服务器,私钥放在本地Windows机器。
环境:
服务器:CentOS6.9
客户端:Win10
软件: Putty,PuttyGen,Pageant(都是0.7版本)
一、使用PuttyGen工具生成密钥
1、下载PuttyGen工具
PuttyGen是密钥制作工具,可在以下网址下载:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
网页里面有Putty客户端及各种相关工具的下载地址。如果已有Putty客户端,可以只下载puttygen.exe。如果没有Putty客户端,可以下载putty.zip(a.ZIP archive of all the above),里面包含了Putty客户端及所有相关工具,我这里下载的是这个文件。
解压后包含以下内容:
2、生成密钥
密钥包括公钥和私钥。打开前面下载的Putty客户端及相关工具目录,运行PUTTYGEN.EXE,点击Generate按钮,然后按提示将鼠标在空白区域来回移动,以生成公钥和私钥。
生成Key之后的界面如下:
3、保存密钥文件
3.1 保存公钥
复制下图中红色线条区域内容,保存公钥到本地。(注意不要用点击Save public key按钮生成的文件,这个文件内容不同)
3.2 保存私钥
点击Save private key 按钮,保存私钥文件至本地。
二、上传密钥
将公钥上传至Linux服务器,私钥添加到本地的PAGEANT。
1、将公钥上传至Linux服务器
在要登录的Linux服务器的authorized_keys文件末尾增加公钥信息:
vi ~/.ssh/authorized_keys
将生成的公钥内容添加到文件末尾。
修改authorized_keys文件权限:
chmod 600 ~/.ssh/authorized_keys
2、将私钥添加到PAGEANT
Pageant是密钥管理工具。打开前面下载的Putty客户端及相关工具目录,运行PAGEANT.EXE,点击Add Key按钮,将私钥文件添加进去后,列表里面会增加一条记录。
三、免密登录Linux
在Pageant工具开启的情况下,打开Putty登录,输入用户名后,不再提示输入密码,直接登录到服务器。
还有一种方法,如果Pageant工具没有开启,那么在Putty登录界面,点开左侧菜单“Connection->SSH->Auth”,在右侧选择私钥文件,然后再登录Linux,也是免密直接登录到服务器。
完毕。