SSH免输入密码配置

简介:

假设有 LocalServer RemoteServer[1...n],需要从LocalServer SSH登录到RemoteServer上,默认配置下需要频繁输入密码,如果配置RSA/DSA 密钥认证系统,将会省却这一麻烦。以下假设登录的用户为jerome
STEP1 生成密钥对
1. 登录LocalServer
2. 切换到根目录
cd ~
3. 执行密钥生成命令
ssh-keygen -t dsa
Enter file in which to save the key (/home/jerome/.ssh/id_dsa): 回车
Enter passphrase (empty for no passphrase):输入密码短语,可以看做是私钥的密码
Enter same passphrase again:再次输入
密码对已经在/home/jerome/.ssh中生成 共两个文件:id_dsa id_dsa.pub

STEP2 KeyChain设置
1. 为避免频繁输入密码短语,安装一个小工具keychain,该工具会将密钥加入到密钥缓存中并防止每次登录LocalServer都启动新的ssh-agent进程。
2.下载最新版本的keychain:  http://agriffis.n01se.net/keychain/,下载后解压到LocalServer的根目录
3. 进入keychain目录,当前版本是2.6.8
cd /home/jerome/keychain-2.6.8
安装
sudo install -m0755 keychain /usr/bin/keychain
4. 设置keychain
cd ~
生成keychain的配置,将会建立~/.keychain目录
/usr/bin/keychain
vi ~/.bash_profile
在文件末尾加入
/usr/bin/keychain ~/.ssh/id_dsa
source ~/.keychain/localserver-sh
保存退出。
先清理掉系统中所有属于jerome的ssh-agent进程(如果有的话)
ps -aux | grep ssh
kill 进程号
启动ssh-agent

source ~/.bash_profile
Enter passphrase for /home/jerome/.ssh/id_dsa:输入STEP1中输入的密码短语
在进程中可以看到ssh-agent了

STEP3 分发公钥
使用scp命令将公钥拷贝到所有RemoteServer的~/.ssh下,并改名叫authorized_keys
scp /home/jerome/.ssh/id_dsa.pub jerome@remoteserver1:/home/jerome/.ssh/authorized_keys
此步骤假设之前没有在RemoteServer上设置过authorized_keys,否则的话,请执行:
scp /home/jerome/.ssh/id_dsa.pub jerome@remoteserver1:/home/jerome/.ssh/id_dsa.pub
cat ~/.ssh/id_dsa.pub >> ~/.ssh/
authorized_keys

STEP4 测试
ssh remoteserver1
Last login: Fri Aug 15 13:53:18 2008 from 111.0.129.27
KeyChain 2.6.8; http://www.gentoo.org/proj/en/keychain/
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL
* Found existing ssh-agent (29785)
* Known ssh key: /home/jerome/.ssh/id_dsa
hostname
remoteserver1
无需输入密码,success!


本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/326746


相关文章
|
1月前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
38 1
|
1月前
|
网络安全
检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议
检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议
13 0
|
4月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SSH服务端配置】
现在,你已经成功在Ubuntu系统上配置了SSH服务端。这将允许其他计算机通过SSH协议连接到你的Ubuntu系统,并进行远程管理和操作。请注意,远程访问有安全风险,建议在生产环境中采取必要的安全措施来保护系统。
41 3
|
6月前
|
Ubuntu 网络安全 Docker
Ubuntu 安装与配置ssh (docker)
Ubuntu 安装与配置ssh (docker)
116 0
|
3月前
|
安全 Shell 网络安全
【Git】TortoiseGit(小乌龟)配置SSH和使用
【Git】TortoiseGit(小乌龟)配置SSH和使用
171 0
|
1天前
|
网络安全
|
26天前
|
网络协议 安全 Shell
配置ssh服务
配置ssh服务
|
1月前
|
Shell 网络安全 开发工具
配置SSH时候,Permission denied问题解决方法
配置SSH时候,Permission denied问题解决方法
45 4
|
2月前
|
安全 Shell 网络安全
ssh配置无密码验证
ssh配置无密码验证要在SSH中配置无密码验证,您需要使用公钥验证【2月更文挑战第18天】
43 1
|
2月前
|
Shell 网络安全 数据安全/隐私保护
配置多个SSH公钥流程
配置多个SSH公钥流程