在比较新版的 FreeBSD 中附带的 OpenSSH,不能象原来那样用 SecureCRT 连接时直接记录密码了,代之的是需要用密钥对来验证,每次都需要手工输入密码比较麻烦。这里简单讲一下怎么用 SecureCRT 生成 OpenSSH 认可的密钥。
1. 在 SecureCRT 的 Tools 菜单中选择 Create Public Key...,会出现一个生成向导,根据它的提示一步步走,中间会让你选择一个 passphrase,有人翻译成“通关密语”,总之它是一个保护你的 key 的东西,建议设置,并记好,这是找不回的。向导的最后会提示你是否使用新生成的密钥来做为你的全局密钥,选择是。
2. 向导完成后,会在你选择的目录下生成两个文件,Identity 和 Identity.pub,第一个是你的私钥,需要自己保留的,第二个是公钥,需要上传到服务器(如果直接上传不方便,可以使用文本拷贝的方式)。
3. 在服务器上,你的目录下(~/),建立 .ssh 目录,设置权限为700或755。
4. 因为 SecureCRT 生成的公钥是 IETF SECSH 格式,与 OpenSSH 的格式不同,需要转换一下。执行命令 ssh-keygen -i > ~/.ssh/authorized_keys ,根据提示,输入存储你公钥的文件名(Identity.pub或你自己更改的名字)。修改文件权限 chmod 600 ~/.ssh/authorized_keys 。
5. 大功告成。之后每次重新启动SecureCRT,需要输入你的 passphrase,但只要不关闭 SecureCRT,打开多个tab,或在多个服务器共享同一套密钥,就不需要重新输入了。
SecureCRT生成的key和sshd不兼容需要转换才能使用,key.pub为SecureCRT生成的pubkey
# ssh-keygen -X -f key.pub > key.pub2
# mkdir ~/.ssh
# touch ~/.ssh/authorized_keys
# cat key.pub2 >> ~/.ssh/authorized_keys
# rm freebsd.pub*
# vi /etc/ssh/sshd_config
===========+===========+===========+============
Port 22
Protocol 2
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
===========+===========+===========+============
相关文章:
1. 在linux8.0下,oracle9i的配置说明(3)2. watch ifconfig命令(每隔两秒监视网络状态)3. 通过 FSCK 命令检查 Linux 文件系统中的错误详解4. linux基础命令有哪些? linux基础命令使用方法5. linux怎么在history命令中前面显示日期?6. linux ping命令的几个简单使用方法7. linux怎么使用自动校正工具来辅助用户校正终端命令输入?8. ps命令显示uid而不是用户名如何解决?9. Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)10. 苹果mac批处理命令怎么使用? mac系统执行bat批处理的技巧