网上教程一般是从Client端使用命令生成密钥后复制到Server,但实际上很多Windows用户从最开始使用命令生成密钥就卡住了。所以这里介绍一下直接在Server端生成密钥,然后使用Putty登录Server。

一、Server端生成密钥

生成密钥的命令:

ssh-keygen -t rsa

然后确认密钥存储路径,默认存储在此用户目录的隐藏文件夹.ssh下,这里可以直接回车

然后输入密钥登录密码,不需要的话也是直接回车

这样在.ssh目录下即生成了id_rsa(私钥)和id_rsa.pub(公钥)

修改公钥文件名,让SSH能够识别到:

mv .ssh/id_rsa.pub .ssh/authorized_keys

修改公钥文件权限:

chmod 600 authorized_keys

二、修改SSH配置文件

编辑SSH配置文件:

nano /etc/ssh/sshd_config

RSAAuthentication
PubkeyAuthentication

前的#注释去掉,让SSH允许密钥登录

注意:需要关闭SSH密码登录的话也是修改这个配置文件,将

PasswordAuthentication yes

修改为

PasswordAuthentication no

(注意#去掉)

三、PUTTY生成私钥

从Server上下载私钥,即id_rsa

打开puttygen.exe,载入私钥

输入私钥密码

保存私钥

生成的id_rsa.ppk即为Putty可用的私钥文件

四、设置Putty密钥登录

Putty填写Host Name (or IP address)Port

左边面板中选择Connection-SSH-Auth(直接点Auth不要展开)

点击Browse载入生成的私钥id_rsa.ppk

左面板中选择最上面的Session,回到最初界面,在Saved Sessions中起个名字,然后Save,之后登录直接双击那个保存的Session就行了。