openssh主机间信任关系建立

这次我们尝试在两台linux主机间利用openssh建立主机间信任关系,采用ssh-keygen生成的rsa key来进行认证的方式直接登录主机,而不需要提供访问密码。此方法简单,而且安全方便。后面我们将会介绍采用key认证的方式,让SecureCRT直接登录到远程openssh主机,从而可以舍弃掉采用password认证的方式,以提高linux主机远程登录安全性。

下面我来详细说明如何两台linux主机间建立主机信任关系,请看详细内容。

1. 我们先配置客户端
客户端的定义:假如我们从A服务器登录到B服务器而不需要密码,那A即为客户端,B为服务器端。在我们的这个例子里,192.168.13.128为客户端,192.168.13.129为服务器端
我们以root身份登陆到192.168.13.128,进行如下操作:
#cd /root/.ssh
#ssh-genkey -t rsa -b 1024
会产生公私钥rsa对
按照默认生成的私钥名为id_rsa 公钥为id_rsa.pub
这样,我们在/root/.ssh目录下生成了2个文件id_rsa和id_rsa.pub。我们进行如下操作:
mv id_rsa identification
然后修改ssh配置文件/etc/ssh/ssh_config
找到配置文件中IdentifyFile行,修改为“IdentityFile ~/.ssh/identification”
即意思为认证的时候使用指定的私钥文件
然后,我们把pub key scp到服务器端192.168.88.6上去:
scp id_rsa.pub 192.168.13.129:/root/.ssh/
这样,客户端的配置就好了

2. 我们来配置服务器端
cd /root/.ssh
mv id_rsa.pub authorized_keys
然后配置/etc/ssh/sshd_config,打开rsa认证模式:
RSAAuthentication yes
AuthorizedKeysFile     %h/.ssh/authorized_keys
然后重新启动sshd
#/etc/init.d/ssh restart

3.OK,我们可以尝试从客户端登录到服务器了
发现不用密码验证就直接登陆了。

上面只是配置了root用户的信任关系
如果客户端账号为laiwei@debian
服务器端的账号为laiwei2@debian2
如果debian上的laiwei需要和debian2上的laiwei2建立信任关系,也必须重复上面的步骤:

1. 首先在客户端,以laiwei登陆:
$cd ~/.ssh
$ssh-keygen -t rsa -b 1024
会在当前的目录(~/.ssh)下面生成两个文件,id_rsa 和 id_rsa.pub
$mv id_rsa identification
$scp id_rsa.pub laiwei@debian2:~/.ssh/
OK,客户端已经配置好了

2.配置服务器端debian2
以laiwei2登陆debian2
$cd ~/.ssh
将该目录下从debian copy过来的id_rsa.pub重命名
mv id_rsa.pub authorized_keys
重启sshd
发现就可以不用密码从laiwei@debian ssh 登陆到laiwei2@debian2了。