- 浏览: 252456 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (298)
- 工作感悟 (6)
- java基础 (23)
- 计算机硬件知识 (1)
- 计算机网络知识 (2)
- Struts (3)
- Srping (4)
- hibernate (0)
- ibatis (0)
- webservice (4)
- Thread (22)
- maven (5)
- ubuntu/linux/centos/redhat (46)
- SSO (1)
- ESB (0)
- 工作流 (0)
- oracle (15)
- 云计算 (1)
- hadoop (1)
- nosql (0)
- mysql (3)
- sqlserver (0)
- jquery (0)
- 分布式 (3)
- 集群 (0)
- 设计模式 (2)
- EJB (0)
- map (0)
- cache (5)
- Niginx+varnish+squid+Ats (14)
- Apache (0)
- 工作/职业规划 (0)
- Scala & Groovy (1)
- English (4)
- 数据结构/算法 (6)
- 开发工具 (5)
- 测试 (2)
- Exception (0)
- 定时器 (3)
- j2ee (2)
- 部署 (1)
- Openssl (1)
- 操作系统 (3)
- kvm (13)
- libvirt (5)
- PostgreSql (5)
- 虚拟化 (3)
- 概念理解 (1)
- virt-manager (1)
- RESTful (3)
- 其它 (4)
- ssh2 (14)
- windows (1)
- 房产 (2)
- svn (1)
- 手机 (1)
- ant (1)
- flume (2)
- sqoop (1)
- fastdfs (5)
- log4j (1)
- SPDY (1)
- mongodb (2)
- MQ (2)
- Mina (1)
- dubbo (4)
- PMP (1)
- Webshpere (2)
- jvm (1)
- Btrace (1)
- zookeeper (7)
- UML (1)
- spring cloud (6)
- spring boot (5)
- storm (0)
- 软件管理 (1)
- elasticsearch (1)
- 协议 (2)
- docker (1)
- 性能 (2)
- 安全 (1)
- 代码规范 (1)
- mqtt (1)
- lombok (1)
- 车联网 (1)
- kafka (1)
最新评论
一. 前言
直接使用ssh连接到服务器时,需要手动输入密码。如果能够不用手动输入密码,且自动登录到SSH服务器的话,那就爽了。
经过一晚上的研究,终于搞定了。(原因在于旧的配置方式已不能正确使用了)
在进行配置前,先假定ssh客户端为ssh-client,ssh服务器为ssh-server(运行ssh服务的一边)。
二. 配置方法
1. 在ssh-client一边使用ssh-keygen生成一对rsa key
$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/abee/.ssh/id_rsa): <回车>
Enter passphrase (empty for no passphrase): <回车>
Enter same passphrase again: <回车>
执行过程中连续回车即可,成功生成key后。private key 保存在~/.ssh/id_rsa,而public key保存在~/.ssh/id_rsa.pub
2. 在ssh-client一边使用ssh-add将刚生成的private key加入到ssh agent中(旧配置方式没有这步哟)
$ssh-add ~/.ssh/id_rsa
Identity added: id_rsa (id_rsa)
3. 将上述的public key(id_rsa.pub)的内容附加到ssh-server端的.ssh/authorized_keys中
$cat ~/.ssh/id_rsa.pub | ssh username@ssh-server "cat - >> authorized_keys"
4. 此时,配置完成啦。当再次使用ssh username@ssh-server登录时,不再使用密码啦。
三. 重启ssh-client
重启ssh-client后,需要重新使用ssh-add将上面的private key加入到ssh-agent中。因为ssh-agent重启后,其没有保留上次记录的private key,因此需要重新使用ssh-add将private key加入。
经过测试,对同一个private key进行多次ssh-add是没有问题的,总体感觉ssh-add或者ssh-agent会过滤重复的private key。
为了实现一次配置,重复使用。可以考虑将ssh-add的执行放到~/.profile下,每次重新登录X或者Console后,系统就会自动从~/.profile中的ssh-add命令将private key加到ssh-agent中。
$echo "ssh-add ~/.ssh/id_rsa" >> ~/.profile
这个方法在ubuntu10.04测试通过。
四. 单个ssh-client与多个ssh-server
经过测试,在不止一个ssh-server的情况下,每一个ssh-server可以共用上述的publice key。而ssh-client仅用一个pirvate key.
五. 特别注意
1. 上述使用RSA方式进行ssh身份验证,具体可以查看man ssh。从上面两种环境可以看出,ssh-keygen产生的private key是关键文件,可以说这个就是ssh的登录密码。因此在ssh-client一侧,该文件的权限一般设置为600。
2. 在ssh-server侧存储public key的authorized_keys文件的权限至少是400,即最少也要用户可读。另外由于该public key可以计算出private key,且一般还会写入其他public key,所以其权限一般设置为700。
3. 一般情况下,对于多个ssh-server,最好的方案是针对每一个ssh-server使用唯一一对RSA key。这样可以防止一个private key泄漏后,只有一个ssh-server的ssh安全受影响,其他ssh-server不受影响(因为使用不同的RSA key)。
六. 与旧配置的区别
1. .ssh/目录在ssh-server/ssh-client端都没有权限要求,所以默认的755即可。
2. 上述配置均不需使用root权限,也不需要配置/etc/ssh/sshd_config(默认即可),更不需要重启ssh服务器。
最后,希望对大家有用哈。
直接使用ssh连接到服务器时,需要手动输入密码。如果能够不用手动输入密码,且自动登录到SSH服务器的话,那就爽了。
经过一晚上的研究,终于搞定了。(原因在于旧的配置方式已不能正确使用了)
在进行配置前,先假定ssh客户端为ssh-client,ssh服务器为ssh-server(运行ssh服务的一边)。
二. 配置方法
1. 在ssh-client一边使用ssh-keygen生成一对rsa key
$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/abee/.ssh/id_rsa): <回车>
Enter passphrase (empty for no passphrase): <回车>
Enter same passphrase again: <回车>
执行过程中连续回车即可,成功生成key后。private key 保存在~/.ssh/id_rsa,而public key保存在~/.ssh/id_rsa.pub
2. 在ssh-client一边使用ssh-add将刚生成的private key加入到ssh agent中(旧配置方式没有这步哟)
$ssh-add ~/.ssh/id_rsa
Identity added: id_rsa (id_rsa)
3. 将上述的public key(id_rsa.pub)的内容附加到ssh-server端的.ssh/authorized_keys中
$cat ~/.ssh/id_rsa.pub | ssh username@ssh-server "cat - >> authorized_keys"
4. 此时,配置完成啦。当再次使用ssh username@ssh-server登录时,不再使用密码啦。
三. 重启ssh-client
重启ssh-client后,需要重新使用ssh-add将上面的private key加入到ssh-agent中。因为ssh-agent重启后,其没有保留上次记录的private key,因此需要重新使用ssh-add将private key加入。
经过测试,对同一个private key进行多次ssh-add是没有问题的,总体感觉ssh-add或者ssh-agent会过滤重复的private key。
为了实现一次配置,重复使用。可以考虑将ssh-add的执行放到~/.profile下,每次重新登录X或者Console后,系统就会自动从~/.profile中的ssh-add命令将private key加到ssh-agent中。
$echo "ssh-add ~/.ssh/id_rsa" >> ~/.profile
这个方法在ubuntu10.04测试通过。
四. 单个ssh-client与多个ssh-server
经过测试,在不止一个ssh-server的情况下,每一个ssh-server可以共用上述的publice key。而ssh-client仅用一个pirvate key.
五. 特别注意
1. 上述使用RSA方式进行ssh身份验证,具体可以查看man ssh。从上面两种环境可以看出,ssh-keygen产生的private key是关键文件,可以说这个就是ssh的登录密码。因此在ssh-client一侧,该文件的权限一般设置为600。
2. 在ssh-server侧存储public key的authorized_keys文件的权限至少是400,即最少也要用户可读。另外由于该public key可以计算出private key,且一般还会写入其他public key,所以其权限一般设置为700。
3. 一般情况下,对于多个ssh-server,最好的方案是针对每一个ssh-server使用唯一一对RSA key。这样可以防止一个private key泄漏后,只有一个ssh-server的ssh安全受影响,其他ssh-server不受影响(因为使用不同的RSA key)。
六. 与旧配置的区别
1. .ssh/目录在ssh-server/ssh-client端都没有权限要求,所以默认的755即可。
2. 上述配置均不需使用root权限,也不需要配置/etc/ssh/sshd_config(默认即可),更不需要重启ssh服务器。
最后,希望对大家有用哈。
发表评论
-
通过expect,读取配置文件,批量ssh-add
2013-10-29 09:16 10371.配置文件(多台宿主机) id_dsa.txt id_dsa ... -
批量部署ssh认证
2013-10-28 16:10 855批量部署ssh认证 我想 ... -
ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机
2013-10-28 15:49 319使用下例中ssky-keygen和ssh-copy-id,仅需 ... -
ubuntu下添加各种类别的启动项
2013-10-25 10:55 552原文地址:http://www.cnblo ... -
2010-08-30 19:00 linux下添加自动启动项
2013-10-25 10:37 567首先写好脚本,如 mysql,把它放到 /etc/init.d ... -
ubuntu 添加开机自动运行脚本
2013-10-25 10:26 5911.编写shell脚本 gedit /etc/init.d/m ... -
Linux下利用expect实现自动交互
2013-10-25 10:01 537首先要安装tcl,expect 下面是Linux下s ... -
ssh密钥管理和认证代理
2013-10-24 15:46 816ssh密钥管理和认证代理 ... -
CentOS通过Ssh连接缓慢的问题
2013-10-24 15:31 498之前安装系统使用了CentOS,发现安装之后ssh速度 ... -
解决 Agent admitted failure to sign using the key 问题 with ssh
2013-10-23 10:36 591配置ssh 之前要在本机上装上ssh,可以通过sudo ap ... -
Java SSH远程执行Linux Shell脚本实现(转)
2013-10-11 15:25 1037此程序需要ganymed-ssh2-build210.jar包 ... -
ubuntu 默认防火墙安装、启用、查看状态
2013-10-10 12:05 647ubuntu 9.10默认的是UFW防火墙,已经支持界面操作了 ... -
ssh2的两种java实现
2013-09-29 14:58 1257SSH2的两种java实现,jcraft和Ganymed,终于 ...
相关推荐
1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了...
Linux制作RSA KEY并配置SSH客户端或服务器免密码访问
ssh_rsa 使用rsa登录 环境 操作系统centos7.7内核5.8.0-1.el7.elrepo.x86_64 进入: ssh-keygen 遵循提示并输入密码 将生成两个文件,一个是公用密钥id_rsa.pub ,另一个是私有密钥id_rsa cd /root/.ssh cat id_...
当需要ssh远程连接服务器时,默认情况下需要输入密码进行验证登录,但在需要连接的服务器较多时,操作就会显得比较繁琐。这是配置rsa密钥免密登录是一个较为安全友好的选择
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS...
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA...
基于RSA的银行登录系统,采用了一般的加密算法,简单设计了一个银行登录系统。
华为、思科、W3C RSA认证转16进制
添加C# Rsa加密 无需再调用js文件加密
执行该操作将在/home/user/.ssh下生成id_rsa, id_rsa.pub文件,其中id_rsa.pub是公钥。 #2、在B机器上做步骤1或自行创建/home/user/.ssh文件夹,注意文件夹权限设置为700,将id_rsa.pub拷贝到B机器上 scp id_rsa.pub...
LINUX中RSA认证登录SSH.docx
Common host key algorithms: ssh-dss,ssh-rsa Algorithms client to server: Cipher: aes128-cbc MAC: hmac-sha1 Compression: zlib Algorithms server to client: Cipher: aes128-cbc MAC: hmac-sha1 Compression:...
ssh remote远程连接服务器 客户端 id_rsa
主要是讲Linux系统如何做到SSH免密码登录
集群机器之间ssh免密登录 ssh-keygen -t rsa命令生成各自的私钥公钥对
1、登录主机并输入ssh-keygen -t rsa 提示Enter file in which to save the key (/root/.ssh/id_rsa): 输入/root/.ssh/sea_rsa 根据提示输入相关路径名和文件名并生成两个文件(之后的两个选项直接回车) 2、把那个...
RSA加密登录示例(包含依赖jar及js文件)
在客户端操作 ...cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys 即可将,你的客户端key传到服务器的~/.ssh/authorized_keys文件中,也可手动复
将SSH RSA密钥转换为GPG密钥 用法 导出私有文件: $ ssh-to-pgp -private-key -i $HOME /.ssh/id_rsa -o private-key.asc 2504791468b153b8a3963cc97ba53d1919c5dfd4 导出公钥: $ ssh-to-pgp -i $HOME /.ssh/id...