欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

在Windows下通过密钥认证机制连接Linux服务器的方法

程序员文章站 2022-06-20 21:39:38
这篇文章主要介绍了在Windows下通过密钥认证机制连接Linux服务器的方法,文中使用PUTTY进行演示,需要的朋友可以参考下... 15-06-23...

ssh服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。 通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。 ssh 的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。 如何使用密钥认证登录linux服务器呢?

首先使用工具 puttygen.exe 生成密钥对。打开工具puttygen.exe后如下图所示:
在Windows下通过密钥认证机制连接Linux服务器的方法

该工具可以生成三种格式的key :ssh-1(rsa) ssh-2(rsa) ssh-2(dsa) ,我们采用默认的格式即ssh-2(rsa)。number of bits in a generated key 这个是指生成的key的大小,这个数值越大,生成的key就越复杂,安全性就越高。这里我们写2048.
在Windows下通过密钥认证机制连接Linux服务器的方法

然后单击generate 开始生成密钥对:
在Windows下通过密钥认证机制连接Linux服务器的方法

注意的是,在这个过程中鼠标要来回的动,否则这个进度条是不会动的。
在Windows下通过密钥认证机制连接Linux服务器的方法

到这里,密钥对已经生成了。你可以给你的密钥输入一个密码,(在key passphrase那里)也可以留空。然后点 save public key 保存公钥,点 save private key 保存私钥。笔者建议你放到一个比较安全的地方,一来防止别人偷窥,二来防止误删除。接下来就该到远程linux主机上设置了。

1)创建目录 /root/.ssh 并设置权限

 

复制代码
代码如下:
[root@localhost ~]# mkdir /root/.ssh mkdir
命令用来创建目录,以后会详细介绍,暂时只了解即可。

 

复制代码
代码如下:
[root@localhost ~]# chmod 700 /root/.ssh chmod
命令是用来修改文件属性权限的,以后会详细介绍。

2)创建文件 / root/.ssh/authorized_keys

 

复制代码
代码如下:
[root@localhost ~]# vim /root/.ssh/authorized_keys vim
命令是编辑一个文本文件的命令,同样在后续章节详细介绍。

3)打开刚才生成的public key 文件,建议使用写字板打开,这样看着舒服一些,复制从aaaa开头至 “---- end ssh2 public key ----“ 该行上的所有内容,粘贴到/root/.ssh/authorized_keys 文件中,要保证所有字符在一行。(可以先把复制的内容拷贝至记事本,然后编辑成一行载粘贴到该文件中)。在这里要简单介绍一下,如何粘贴,用vim打开那个文件后,该文件不存在,所以vim会自动创建。按一下字母”i”然后同时按shift + insert 进行粘贴(或者单击鼠标邮件即可),前提是已经复制到剪切板中了。粘贴好后,然后把光标移动到该行最前面输入ssh-ras ,然后按空格。再按esc,然后输入冒号wq 即 :wq 就保存了。格式如下图:
在Windows下通过密钥认证机制连接Linux服务器的方法

4)再设置putty选项,点窗口左侧的ssh –> auth ,单击窗口右侧的browse… 选择刚刚生成的私钥, 再点open ,此时输入root,就不用输入密码就能登录了。
在Windows下通过密钥认证机制连接Linux服务器的方法

如果在前面你设置了key passphrase ,那么此时就会提示你输入密码的。为了更加安全建议大家要设置一个key passphrase。