动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   安全 → 阅读文章
  

 在两台linux服务器之间用RSA键对的方法SSH/SCP不需密码

作者来源:中国Linux论坛  
阅读 数 185 人次 , 2006-3-19 2:26:00 

软硬件环境:

两台linux服务器A和B

都编译安装上最新版的openSSH(建议)

openSSH的默认设置是允许root可以直接login. (PermitRootLogin yes),暂且保留这种设置,我们先考虑如何用SSH直接从A到B不需要密码,假设用用户root登录到A,想SSH到B也作为root不需要密码。

1。 分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入

passphase时打入两次回车。这将生成/root/.ssh/identity and /root/.ssh/identity.pub

2。 先测试一下,从A登录作为root,打入#ssh B,会要求提示root password。

3。 现在从A登录作为root,运行scp /root/.ssh/identity.pub B:/root/.ssh/authorized_keys。 文件名必须不能弄错。

4。现在再从A运行#ssh B则不需要密码了:)

基本原理:

1。 如果你希望从A作为用户user1 SSH 到B 作为用户user2, 若要用RSA键对法认证且不需要密码,则B上的ssh后台程序拿出~user2/.ssh/authorized_keys中的与A有关的RSA公钥来对A上的以user1身份运行的ssh客户程序进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。则A保持私钥identity,而B上的sshd又拿出A的公钥来挑战,因此成功,你可以加很多行到authorized_keys以允许其它服务器的公钥可以加

进来。

常见应用举例:

1。 在A上以用户root SSH到B上作为普通用户user而不是root,因为为了安全,有时不需要作为root,只需要作

为普通用户不需要密码以完成相应工作即可。

登录作为root在A上

A# scp /root/.ssh/identity.pub user@B:/home/user/.ssh/authorized_keys

2. tar一批文件从A到B。

A# tar cvf - /etc | ( ssh B tar xvf -)

3. 运行A上的cronjob,对某文件作改动后传到B

0 1 * * * cat /etc/shadow | awk -F: {print $1":"$2} | (ssh B cat > /home/passwd)

常见问题:

1。 这种方式的SSH需要B上的sshd_config中允许直接的root login (PermitRootLogin yes).

2. 我有服务器A和其它服务器B,C,D。我想从A SSH到这些服务器但不要自动,最好输入RSA passphase,但太

麻烦,怎么办?

a. 要A上运行ssh-keygen时输入passphase字。

b. 要登录到A上后运行A#ssh-agent bash

c. 再运行ssh-add加passphase进入内存

d. 再运行ssh B or SSH C or SSH D,则不再需要密码,密码对只需输一次

e. 最后退出shell前输入ssh-agent -k 。

 本文Tagslinux  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Linux系统中OpenSSH的安装和配置(1)
· 下一篇:通过 OpenSSH 隧道的 CVS
· 黑客避开检测的手段
· 关于Linux下病毒的话题
· SecureIIS安全防护系统使用
· Windows OneCare Live六月发布
· 使用Linux防火墙


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077