第一步.使用SecureCRT生成公钥/密钥对
使用SecureCRT的工具->创建公钥 即可,加密算法选择RSA,因为sshd配置文件中选择了RSA算法
这一步会生成两个文件,默认是Identity和Identity.pub,其中Identity为私钥,Identity.pub为公钥。这一步中,通行短语可以不输入。不输入的话登陆时不需要输入通行短语。如果输入了,登陆的时候会要求你输入通行短语。
第二步.上传SecureCRT生成的公钥到linux服务器
Identity.pub到用户home目录下.ssh文件夹中,一般是用ftp上传.注意上传之前,一定要以ASCII格式上传。
#cd ~
#mkdir .ssh #在需要开启ssh连接的用户目录下建立 .ssh目录 www.it165.net
#chmod 700 .ssh
#ssh-keygen -i -f .ssh/Identity.pub >>.ssh/authorized_keys(这一步很重要,不然open ssh不认识SecureCRT生成的公钥.)
#chmod 644 ./.ssh/authorized_keys #同上这一步要设置为644或600,生成的authorized_keys文件要属于当前设置用户。
OpenSSH公钥没有使用采用 IETF SECSH 标准,所以和SecureCRT的公钥格式不兼容,需要使用OpenSSH自带的 ssh-keygen 命令转换以后才能被OpenSSH识别。authorized_keys 可以保存多个公钥,所以公钥格式转换导入的时候,应该使用追加符 >> ,而不是 >。
第三步.修改sshd_config配置文件
vim /etc/ssh/sshd_config #修改ssh配置文件
(1) Protocol 2 #仅允许使用SSH2
(2) Port 22 #使用22端口
(3) PermitRootLogin yes #允许root登录
(2) PubkeyAuthentication yes #启用公告密钥配对认证方式
(3) AuthorizedKeysFile .ssh/authorized_keys #设定PublicKey文件路径
(4) RSAAuthentication yes #允许RSA密钥
(4) PasswordAuthentication no #禁止密码验证登录,如果启用的话,OpenSSH的 RSA认证登录就没有意义了。
第四步.重新加载sshd服务