分类: LINUX
2011-10-01 08:10:48
因工作需要,经常得远程登录工作服务器。当然,出于安全考虑,工作服务器采用基于密钥的安全认证。
我的工作机器是windows系统,用了secureCRT作为ssh客户端。我用它生成一对dsa密钥,工作服务器记录了我的公钥,因此我可以用我的机器登录工作服务器。
然而,为了方便工作,我还有几个linux的虚拟机,有时候需要在虚拟机里去登录工作服务器。这样必须在虚拟机里也用同一对密钥去登录。也就是说要把密钥拷过去用。主要的方法是:首先执行ssh-keygen -t dsa,这样就在用户目录下产生了.ssh/dsa-key和dsa-key-pub;然后我把windows下用的那对密钥文件(secureCRT默认的是Identity和Identity-pub)复制过来覆盖掉这两个文件,然后就也可以在虚拟机linux里直接ssh登录工作服务器了,并且可以使用基于ssh的一些服务,例如sftp,scp等等。
如果我自己的机器也想像工作服务器那样使用密钥安全认证,可以通过配置sshd和相关认证文件实现。sshd是ssh的服务端守护进程,它的主要配置文件可以参考。
小结:
-场景:工作服务器需要dsa认证,它添加了对我用secureCRT生成的公钥的信任。
-需求:我想在其他机器其他客户端也能登录工作服务器
-解决方法:把key拷过去。
-思考:貌似这个做法有点像是违背了认证的初衷,不过我只在我自己工作的机器上这么弄,应该可保证不影响安全性的情况下提高工作的方便性。