SecureCRT使用密钥登录SSH服务器

生成密钥对

使用ssh-keygen来生成密钥对,比如要用DSA加密算法生成一个4096Bit的密钥对可以输入如下命令(具体参数请参阅man ssh-keygen):

#ssh-keygen -b 4096 -t dsa


%ssh-keygen -b 4096 -t dsa

Generating public/private dsa key pair.
Enter file in which to save the key (/home/fdy84/.ssh/id_dsa):
(密钥对将要存的路径,括号内为默认)
Created directory '/home/fdy84/.ssh'.
Enter passphrase (empty for no passphrase):
(输入口令)
Enter same passphrase again:
(再次输入口令,千万不要忘记否则就只有从新生成密钥了)
Your identification has been saved in /home/fdy84/.ssh/id_dsa.
(你的私钥)
Your public key has been saved in /home/fdy84/.ssh/id_dsa.pub.
(你的公钥)
The key fingerprint is:
bb:1b:f5:1c:77:62:90:21:59:7e:c6:65:e5:24:c6:e5 fdy84@freebsd

 

密钥分发

刚才生成了一对密钥,把私钥放在自己的机器上的~/.ssh/目录下并保证访问权限是“-rw-------”(即600)。再把生成的公钥放在要连接的远程主机的~/.ssh/目录下并改名为authorized_keys,并且保证文件除了属主外没有被人修改的权限。

 

4.配置使用SSH

 

配置服务端

启动SSH服务端很简单只需要运行

# sshd

就可以了。或者在/etc/rc.conf中加入
sshd_enable="YES"
就可以在每次启动时自动运行SSH服务端了。
SSH服务端的配置使用的配置文件是“/etc/ssh/sshd_config”,并且OpenSSH1.x和2.x的服务器配置文件均为此文件。

配置客户端

客户端想连接远程服务器只需要输入
#ssh 域名(或ip)
就可以了

比如想以fdy84用户连接IP地址为192.168.0.6的一台远程服务器 需要键入

# ssh 192.168.0.6 -l fdy84
只要配置正确就可以连上远端的服务器了

1.使用SecureCRT创建私钥和公钥.

SecureCRT: Quick Connect -> Authentiation -> Public Key -> Properties -> Create Identity File -> DSA/RSA -> Set Passphrase -> Done


这个时候在指定目录会生成两个文件,例如,私钥my_rsa和公钥my_rsa.pub


2.linux服务器上建立.ssh目录,一般情况下,已经有这个目录

# mkdir /root/.ssh
# chmod 700 /root/.ssh


3.将公钥 my_rsa.pub 传到linux服务器,将SSH2兼容格式的公钥转换成为Openssh兼容格式


# ssh-keygen -i -f Identity.pub >> /root/.ssh/authorized_keys2
# chmod 600 /root/.ssh/authorized_keys2           


4.在SecureCRT里面设置登录模式为PublicKey,并选择刚刚创建的my_rsa文件作为私钥


5.重启Linux服务器上SSH服务器

#service sshd restart 或者 /etc/rc.d/init.d/sshd restart


6.由于已经设置了密钥登录,原来的密码登录就完全可以去掉


# vi /etc/ssh/sshd_config


Protocol 2    /仅允许使用SSH2
PubkeyAuthentication yes   /*启用PublicKey认证
AuthorizedKeysFile      .ssh/authorized_keys2   /*PublicKey文件路径
PasswordAuthentication no    /*禁止密码验证登录


PS:以上步骤是使用SecureCRT生成的密钥对来进行登录验证的,其实也可以在服务器上使用ssh-keygen命令生成的密钥,同样在生成密钥对之后,将格式转换成SecureCRT 使用的SSH2格式


陈绪:步骤3中的转换key格式易于为大家忽略,请多注意此点。

特别要注意的是由SecureCRT生成的密钥对和用OpenSSH生成的密钥对在格式上不一样,而且二者都只能认识自己的密钥的格式,所以在用SecureCRT同OpenSSH连接时分别都要用它们自己的密钥格式,可以用任何一个方法生成然后使用ssh-keygen -i 把SecureCRT生成的的密钥转换成OpenSSH的密钥格式,或者用ssh-keygen -e把OpenSSH的密钥格式转换成SecureCRT能够识别的IETF SECSH格式

虽然SSH提供基于密码的登陆,不过基于安全考虑笔者并不推荐使用这种登陆,鉴于现在机器的速度普遍已经很快,推荐使用4096位的密钥以加强安全性。


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要通过SecureCRT实现OpenWrt的SSH无密码登录,你需要按照以下步骤操作: 1. 首先,在OpenWrt路由器中安装和配置SSH服务。可以通过web界面或者命令行进入OpenWrt路由器的管理界面,找到SSH服务器设置选项,并确保SSH服务已启动。 2. 在OpenWrt路由器上生成SSH密钥。你可以使用OpenWrt自带的SSH密钥生成工具来生成SSH密钥对。在OpenWrt的终端中运行以下命令生成SSH密钥ssh-keygen -t rsa 默认情况下,将在/root/.ssh目录下生成SSH密钥对。你可以在生成SSH密钥的过程中设置一个密码来保护私钥,但在实现无密码登录的情况下,不设置密码会更方便。 3. 将OpenWrt路由器的公钥复制到目标主机。将OpenWrt路由器上生成的公钥复制到你想通过SecureCRT登录的主机上。可以使用以下命令将公钥复制到主机上: scp /root/.ssh/id_rsa.pub <username>@<hostname>:/<path>/authorized_keys 其中,<username>是目标主机上的用户名,<hostname>是目标主机的IP地址或域名,<path>是authorized_keys文件的路径。 4. 配置SecureCRT实现无密码登录。在SecureCRT中打开连接到目标主机的会话设置,找到“Authentication”选项卡。在这里,你需要选择“Public key”作为身份验证方法,并指定Private key文件为OpenWrt路由器上生成的私钥文件。 此外,还需要填写用户名和主机名。确保选择了正确的协议(例如SSH2)和端口号,并保存会话设置。 5. 现在,你可以通过SecureCRT尝试连接到目标主机。SecureCRT使用OpenWrt路由器上的私钥进行身份验证,实现无密码登录。 请注意,上述步骤仅适用于OpenWrt路由器和SecureCRT的特定设置,具体步骤可能因软件版本和配置差异而有所变化。如有需要,请参考相关软件的官方文档或执行相关搜索以获取最准确的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值