Cygwin的ssh服务使用公钥登录

Cygwin的ssh服务使用公钥登录

    前面已经讲过如何在windows下利用cygwin搭建ssh服务,但是使用账户密码的验证登录模式比较麻烦,尤其是在它作为多人访问的服务的时候。


    下面讲一下如何使用公钥认证的方式来登录。


    网上这一类的文章很多,但putty来登录时要注意个问题,puttygen生成的公钥私钥是不能被ssh识别。得使用ssh-keygen命令来创建钥匙对。(之前也按照网上的教程使用puttygen来生成key,浪费了好多时间)


1.创建密钥对:
    $ ssh-keygen -t rsa
    一路回车即可!

    中间有提示是否给私钥加密,这个看个人喜欢。下面命令则是修改私钥密码。

    例:私钥文件是/cygdrive/d/id_rsa,把它新密码重置为空,执行后会提示输入旧密码验证。

    $ ssh-keygen -p -f /cygdrive/d/id_rsa -N ''

2.密钥设置:
    $ cd /home/username/
    $ mkdir .ssh && chmod 700 .ssh
    $ cd .ssh/
    $ cat /cygdrive/d/id_rsa > authorized_keys  (将公钥放置其中)
    $ chmod 600 authorized_keys

3./etc/sshd_config配置

    要把下面这几项的注释去掉,并对应值改为如下内容:

    StrictModes no
    PubkeyAuthentication yes
    AuthorizedKeysFile    .ssh/authorized_keys

    改完后要重启ssh服务才能生效。

 


4.本机用bash命令行登录测试一下:

    ssh -i /cygdrive/d/id_rsa [email protected]

    加个-v参数则看到具体调试信息,无法正常登录时可以调试下
    ssh -v -i /cygdrive/d/.ssh/id_rsa [email protected]

    使用putty登录的话,则需要先把该私钥转换成它兼容的格式。
    使用puttygen导入私钥,再点“Save private key”即生成它兼容的私钥文件了。

你可能感兴趣的:(Cygwin的ssh服务使用公钥登录)