公司为了安全,一直都采用PublicKey文件的方式登陆远程SSH,现在有了自己的服务器,自己又学者配了一把,下面就是配置笔记。
生成DSA类型的PublicKey文件
Linux: ssh-keygen -t dsa
Windows: SecurCRT
将生成的.pub公钥文件拷贝到~/.ssh/目录下,并重命名为authorized_keys,如果已经存在authorized_keys,那么就新建一行将公钥文件的内容拷贝进去。修改authorized_keys权限为600(很重要,如果权限不安全,则无法使用该功能)
验证登陆是否正确,在ssh客户端配置登陆方式由password改为publickey,文件使用生成的公钥文件即可,不过,putty比较特殊,稍后会专门讲解。
如果登陆失败,请检查ssh配置文件(/etc/ssh/sshd_config)中的PubkeyAuthentication是否为yes。
如果验证成功的话就可以关闭密码登陆方式了,编辑/etc/ssh/sshd_config,将PasswordAuthentication改为no,ChallengeResponseAuthentication改为no,不过需要重启sshd(service sshd restart)后才能生效。
关于putty的登陆设置,由于putty与ssh2的key文件不同,所以要用puttygen.exe转换一下,运行puttygen.exe,选择Conversions->Import key,选择privateKey文件,注意这里要选privatekey文件,而不是前面用的publickey文件,最后选择"save private key"将密钥保存为.ppk文件,这个就是putty需要的key文件。
运行putty,填写完session信息后,到connection->ssh->auth中指定好privatekey文件即可,当然也可以在connection->data中设置上auto-login username