服务器 频道

FreeBSD密匙对让putty(ssh)自动登录

    【IT168 服务器学院】使用密匙对让putty(ssh)自动登录
    第一步:生成密匙
    运行puttygen.exe,选择需要的密匙类型和长度。由于sshd默认使用SSH1 协议,所以最好选择SSH1(RSA),长度设置为1024就可以了。

    生成后 Key passphrase 和 Confirm passphrase 两项可以保持为空,这个东西是用来保护私匙的密码,如果没什么特别高的安全要求就不用了,免得登录时还是要输入一次密码。

    点击 Save public key 按钮和 Save private key 按钮保存公匙和私匙,例如 id_rsa1.pub 和 id_rsa1.prv。

    第二步:上传密匙
    用自己的帐号登录远程系统,然后执行下面的命令:
    cd ~
    mkdir .ssh
    cd .ssh
    cat > authorized_keys
    (此时用记事本打开 id_rsa1.pub 文件,选中所有内容,按 Ctrl+C 复制到剪贴板中,然后在Putty窗口中按Shift+Ins粘贴)
    (再按Ctrl+D键,完成文件的创建)

    第三步:设置Putty
    启动Putty,设置好session的各项参数,然后从左边选择“SSH->Auth”,
    点击 Browse 按钮,选择 id_rsa1.prv 文件。
    再从左边选择 Session,然后点击 Save 按钮把修改保存下来。然后点击Open 按钮就可以登录了。
    如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。

    ===============================================

    如果要用SSH2协议,需要修改一下 /etc/ssh/ssh_config 文件,加入:
    Protocol 2,1

    如果没有 puttygen.exe,那么可以用 bsd/linux 自带的 ssh-keygen 生成密匙,命令格式如下:

    ssh-keygen -b 密匙长度 -t 密匙类型
    密匙类型可以是:rsa1 (对应SSH1 RSA)、rsa 和 dsa (对应SSH2)

    不过 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,无法直接使用,必须用 puttygen.exe 转换一下。所以大家还是用 rsa1 好了,反正一般用途也没什么区别。

    =================================================

    可能出现的几种问题:

    1、Server refused our key
    公匙和私匙不匹配,或者没有 authorized_keys 文件

    2、Unable to use key file "id_rsa1.prv" (SSH1 private key)
    私匙文件的格式不正确

    ===============================================

    其他信息:

    putty 主页 -
    http://www.chiark.greenend.org.uk/~sgtatham/putty/

    ===============================================

    这个东东是因为chinaunix上有朋友问我,所以写一下,有错误的地方希望大家指正。

0
相关文章