Tuesday, October 18, 2011

[转]使用公匙密匙来登录ssh

sh一种更加安全的登录方式是使用rsa/dsa方式来做验证。密码口令很可能被猜出来,但是用dsa方式验证的ssh,除非他弄到你的私匙,否则肯定是安全的。
ssh-keygen命令可以用来生成rsa/dsa方式的公匙密匙。
ssh-keygen或者ssh-keygen -t rsa生成rsa方式的密匙。ssh-keygen -d 或者 ssh-keygen -t dsa生成dsa方式的密匙。具体rsa和dsa的区别看 这里
上面的命令会在~/.ssh文件夹中生成公匙(id_*sa.pub)和密匙(id_*sa),将pub文件中的内容copy到远程服务器你的 home目录下面的.ssh目录中的authorized_keys[2]这个文件中,有没有最后的那个2要看你用的是ssh1还是ssh2方式,通常都 有2。
然后就是远程服务器的这些文件需要有正确的权限,.ssh目录是700,authorized_keys2文件是644。
此后再登录服务器的时候应该就不需要输入密码了。
有一个小tip,就是给服务器的ip设置一个好记的形式,那么多的ip记住不容易阿,而且每次还得一个一个输入。具体方法就是修改hosts文件,添加类似下面的内容就可以了,相当于自己做了一个dns,呵呵。
#销售server
218.x.2.128 s128 xs xiaoshou
#db server
218.x.23.189 s189 db oracle
这样,以后访问s128或者s189就可以了,当然后面的xs、xiaoshou、db、oracle也都是别名,都可以用来访问。
还有一个tip,是关于term的。如果用的是urxvt,访问的远程服务器的时候可能会遇到“unknow terminal : rxvt-unicode” 类似的错误,如果出现了类似错误,会导致在服务器端vim和ls都没有颜色。解决方法是在.Xdefaults文件中添加URxvt.termName: xterm,或者.bash_profile里面自己设置一下TERM类型。

原文:  http://wdicc.com/public-key-in-ssh/

No comments: