以前使用ssh没太在意。装好后就没怎么配置。登录也是直接用密码。这样不太安全,其实也更麻烦,因为每次都要输入密码。如果使用私钥公钥对验证的话。可以直接登录(前提是私钥生成时没有设置密码)以下部分修改自网上文章
系统:freebsd 7.1 release
工具:putty
————————————
第一步:生成密匙
运行puttygen.exe,选择需要的密匙类型和长度。freebsd7.1中openssh的sshd默认使用SSH2(line 20:protocol 2,注意,很多网上教程都是说ssh1)
协议,故我们选择SSH2(RSA),长度设置为1024就可以了。
生成后密钥密码 和 确认密码 两项可以保持为空
这个东西是用来保护私匙的密码,如果没什么特别高的安全要求就不用了,
免得登录时还是要输入一次密码。
点击保存私钥 按钮保存 私钥(这里我们不保存公钥,上传时,直接从 生成框中复制)例如blvming.ppk
第二步:上传密匙
用自己的帐号登录远程系统,然后执行下面的命令:
cd ~
mkdir .ssh
cd .ssh
cat > authorized_keys
这时候注意:要从puttygen.exe生成的 公钥生成框中直接复制 如果从文件中复制的话。容易出现这样的问题:
server refused our key。
选中所有内容,按 Ctrl+C 复制 到剪贴板中,然后在Putty窗口中按Shift+Ins粘贴,再按Ctrl+D键,完成文件的创建
第三步:设置Putty
启动Putty,设置好session的各项参数,然后从左边选择“SSH->认证”, 点击 Browse 按钮,选择 blvming.ppk
文件。 再从左边选择 会话,然后点击 保存按钮把修改保存下来。然后点击 打开按钮就可以登录了。
如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。
另外,如果还是出现拒绝key,可以设置authorized_keys的权限为 644 即: chmod 644 .ssh/authorized_keys
=================================================
如果要用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 好了,反正一般用
途也没什么区别。