一、首先用secureCrt创建密钥 1.使用SecureCRT创建私钥和
公钥.
SecureCRTquickConnect->Authentiation->PublicKey->Properties->CreateIdentityFile->DSA/RSA->SetPassphrase->Done
这个时候在指定目录会生成两个
文件,例如,私钥my_rsa和公钥my_rsa.pub
2.
linux服务
器上建立.ssh目录,一般情况下,已经有这个目录
#mkdir/root/.ssh
#chmod700/root/.ssh
3.将公钥my_rsa.pub传到linux服务器,将SSH2兼容
格式的公钥转换成为Openssh兼容格式
#ssh-keygen-i-fIdentity.pub>>/root/.ssh/authorized_keys2
#chmod600/root/.ssh/authorized_keys2
4.在SecureCRT里面设置登录模式为PublicKey,并选择刚刚创建的my_rsa文件作为私钥
5.重启Linux服务器上SSH服务器
#servicesshdrestart或者/etc/init.d/sshrestart
6.由于已经设置了密钥登录,原来的密码登录就完全可以去掉
$sudovim/etc/ssh/sshd_config
Protocol2/仅允许使用SSH2
PubkeyAuthenticationyes/*启用PublicKey认证
AuthorizedKeysFile.ssh/authorized_keys2/*PublicKey文件路径
Pass
wordAuthenticationno/*禁止密码验证登录
PS:以上步骤是使用SecureCRT生成的密钥对来进行登录验证的,其实也可以在服务器上使用ssh-keygen命令生成的密钥,同样在生成密钥对之后,将格式转换成SecureCRT使用的SSH2格式
注意:步骤3中的转换key格式易于为大家忽略,请多注意此点。
二、把创建的私钥共享 由于securecrt创建的私钥不同于winscp使用的私钥格式,需要转换
securecrt>>tools>>ConvertPrivateKeytoOpenSSHFormat...
保存成openssh格式的密钥对,然后运行winscp包里的puttygen>>Conversions>>Importkey选择刚才转换的私钥,输入keypassphrase后,选择Saveprivatekey,保存成ppk格式的文件
三、解决winscp的中文乱码问题 在WinSCP启动画面上先把进阶选项勾选起来,然后在SFTP设定上将伺服器不使用UTF-8编码选项关闭。