您的位置:首页 > 大数据 > 人工智能

ssh远程利用keychain免密码多用户环境搭建

2013-03-22 15:22 393 查看
最近考虑直接使用SSH自带的工具来完成简单的远程集中维护系统来替代现在CRT软件记秘钥。由于公司业务服务器全部是客户自己提供的服务器,所以不好管理。目的是服务器端只允许某1-2个IP能访问(线路需保证访问速度),所以需要单独建立2台机器做跳板(1主1备),另外需在跳板机上严格限制普通运维人员权限,建立自己的公私钥、别名登陆文件.ssh/config和分组,并且需配置自己个人的密语,添加多个SSH密语,将支持的客户分成几组,每组使用不通的SSH密语。

操作步骤如下:

一、创建用户

useradd test1
passwd test1
su test1
二、进入cd /home/test1/.ssh 如果无此目录 的话创建一个 mkdir .ssh chmod 700 .ssh
三、ssh-keygen -t dsa -f id_dsa.test1-a -C "Key for test1-a" --需输入两次密语,确保安全
ssh-keygen -t dsa -f id_dsa.test1-b -C "Key for test1-b" ---需输入两次密语,确保安全
将会在此目录生成对应的公私钥文件
四、 ssh-copy-id -i id_dsa.test1-a.pub root@ip1 #将公钥上传至需要做登陆的服务器的 .ssh/authorized_keys文件
ssh-copy-id -i id_dsa.test1-b.pub root@ip2 #将公钥上传至需要做登陆的服务器的 .ssh/authorized_keys文件
注意:需确保/home/chenghua 的权限为755 ./ssh权限700
五、在/home/test1/.ssh目录建立config文件
Host aa       IdentityFile /home/test1/.ssh/id_dsa.test1-a         User root           HostName ip1 Host bb

IdentityFile /home/test1/.ssh/id_dsa.test1-b


User root          HostName ip2


如某些机器需通过IP1或者IP2再跳转的话,可以在congfig文件加上

Host cc

HostName ip3

IdentityFile /home/test1/.ssh/id_dsa.test1-b

ProxyCommand ssh aa nc %h %p 2> /dev/null
六、下载

wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/keychain-2.7.0-1.el5.rf.noarch.rpm

rpm -ivh keychain-2.7.0-1.el5.rf.noarch.rpm

七、 配置test1用户的.bash_profile环境

增加

hostname=`uname -n`
pidf=${HOME}/.keychain/${hostname}-sh
/usr/bin/keychain /home/test1/.ssh/id_dsa .test1-b /home/test1/.ssh/id_dsa.test1-a #可以添加多个
#"Agent PID" message
source $pidf > /dev/null
source ~/.bashrc

八、 killall ssh-agent 杀死所有ssh-agent 或者keychain --clear

九、打开以用户test1登陆的新shell,通常可以重新登录或者开启一个新的控制台,它会在命令行里提醒输入每个私钥的密码。此后所有的shell都可以通过keychain重用ssh-agent,使得您可以不断的无密码登录ssh。

本文出自 “lvsang” 博客,请务必保留此出处http://lvsang.blog.51cto.com/3468778/1160368
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: