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位的密钥以加强安全性。


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值