码迷,mamicode.com
首页 > 系统相关 > 详细

Linux ssh密钥自动登录(转)

时间:2016-04-29 21:55:45      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

在开发中,经常需要从一台主机ssh登陆到另一台主机去,每次都需要输一次login/Password,很繁琐。
使用密钥登陆就可以不用输入用户名和密码了

实现从主机A免密码登陆到主机B,需要以下几个步骤:
1. 在主机A“~/.ssh/”目录下执行命令“ssh-keygen -t rsa”(生成过程中,一路回车),生成两个文件id_rsa和id_rsa_pub,这两个文件实际上是一个密钥对,id_rsa是私钥,id_rsa_pub是公钥;
2. 将文件id_rsa_pub从主机A拷贝(可以使用scp命令)到主机B“~/.ssh/”目录下;
3. 登陆到主机B上, 进入“~/.ssh/”目录,将从主机拷贝来的id_rsa_pub文件添加到文件“authorized_keys”尾部(cat id_rsa_pub>>authorized_keys),若文件“authorized_keys”不存在,则创建;确保“~/.ssh/authorized_keys”的权限至少为600;

4. 从主机A登陆主机B,第一次登陆时主机B要自动设置known_hosts文件,所以需要输入yes,以后就不需要了;

P.S.当然你登陆主机A和主机B用的是同一个用户名


配置用户的公钥登陆时,配置完authorized_keys居然一直不生效,于是google之,发现原来是因为.ssh目录和下面文件的权限问题导致的,因为目录的权限已经超过了sshd的要求权限。

如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700 
2) .ssh/authorized_keys文件权限必须是600




锦上添花:
假设你的用户名为user,已经设置好了密钥登陆主机B。那么你可以在shell的配置文件(比如.bashrc)里定义一个alias
alias b=‘ssh user@B‘
以后每次你启动shell终端后,输入b,回车,直接就ssh登陆到主机B上。

http://blog.csdn.net/yasaken/article/details/7420093

 

Linux ssh密钥自动登录(转)

标签:

原文地址:http://www.cnblogs.com/softidea/p/5447539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!