当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > LINUX下的ssh认证,不用密码登陆另一台机器

Unix/Linux
libtcl8.3下载|无法找到libtcl8.3
libmysqlclient.so.10无法找到
Linux+Apache+PHP+MySQL+Zend Optimizer+PHPMyAdmin
glibc安装错误|glibc安装出错
Zlib是什么?|Zlib的作用是什么?|Zlib有什么作用?
什么是glibc?glibc是什么?什么是freetype?freetype是什么?什么是?Xlib是什么?什么是lo
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
mysqld是什么意思?如何卸载mysqld?
linux 卸载 mysql
rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
linux下tar命令rpm命令参数列表
linux rpm卸载参数
ERROR 1045: Access denied for user: root@localhost (Using password: NO)
您的服务器不支持mysql数据库
服务器不支持mysql数据库
mysql 如何添加/创建用户
/usr/bin/install: 无法创建一般文件‘/usr/local/man/man1/cjpeg.1’: 没有那个文件
png.h:329:18: zlib.h: 没有那个文件或目录
您的服务器不支持MySql数据库,无法安装论坛程序
phpMyAdmin

Unix/Linux 中的 LINUX下的ssh认证,不用密码登陆另一台机器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 159 ::
收藏到网摘: n/a


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_keys2chmod 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_keys2id_dsaid_dsa.pubserver_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的认证同上操作即可。