WEB开发网
开发学院操作系统Linux/Unix LINUX下的ssh认证不用密码登陆另一台机器 阅读

LINUX下的ssh认证不用密码登陆另一台机器

 2011-01-18 09:26:53 来源:WEB开发网   
核心提示:LINUX程式员在日常工作中都会遇见远程登陆这样的问题,每次输入密码是不是非常烦人.在这整理一下,ssh证书到底是怎么搞的!在linux下使用ssh认证,不输入密码访问另一台机器 在工作中由于常用到ssh登录其他机器,LINUX下的ssh认证不用密码登陆另一台机器,所在每台机器上做了ssh认证,这样就不用每次都输入繁琐

LINUX程式员在日常工作中都会遇见远程登陆这样的问题,每次输入密码是不是非常烦人.

在这整理一下,ssh证书到底是怎么搞的!

在linux下使用ssh认证,不输入密码访问另一台机器

 在工作中由于常用到ssh登录其他机器,所在每台机器上做了ssh认证,这样就不用每次都输入繁琐的密码。

有两台机器:server_1 和 server_2
账号都为:work
转到work账号下:su - work
运行:ssh-keygen -d (一路回车下去 )
命令输出为:
Enter file in which to save the key (/home/work/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/work/.ssh/id_dsa.
Your public key has been saved in /home/work/.ssh/id_dsa.pub.
The key fingerprint is:
32:21:e1:3b:7d:6e:de:4b:39:da:af:38:fe:90:40:61 work@server_1.server.com

在/home/work目录下就产生了.ssh的隐含目录,进入些目录下产生两个文件:
id_dsa      ------------   私钥文件
id_dsa.pub  ------------   公钥文件

将id_dsa.pub复制一份文件名为:authorized_keys2
并将 authorized_keys2 的属性改为 600 即文件所属用户有读和写的权限,组用户和其他用户禁止读写,用命令:

代码:

cp id_dsa.pub authorized_keys2
chmod 600 authorized_keys2


同样在server_2上做以上操作,下一步就实现真正的ssh认证了:
将server_1上/home/work/.ssh目录下的id_dsa.pub公钥文件拷到server_2的/home/work/.ssh目录下(注意:不要覆盖掉server_2的id_dsa.pub,拷时要改名)如:
代码:


[work@server_1 .ssh]$ scp id_dsa.pub work@server_2:.ssh/server_1.pub


在server_2的/home/work/.ssh目录下就有了如下文件:
authorized_keys2
id_dsa
id_dsa.pub
server_1.pub

用命令:
代码:

cat server_1.pub >> authorized_keys2
(注意一定要用追加操作 ">>" 不能用 ">")

这样server_1到server_2的ssh认证就做好了。在server_1上用命令:
代码:

ssh work@server_2
就直接登录到server_2上,而不用输入密码了。

server_2到server_1的认证同上操作即可。

Tags:LINUX ssh认证 登陆

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接