第1个回答 2016-12-06
Linux ssh密钥自动登录在开发中,经常需要从一台主机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用的是同一个用户名锦上添花:假设你的用户名为user,已经设置好了密钥登陆主机B。那么你可以在shell的配置文件(比如.bashrc)里定义一个aliasalias b='ssh user@B'以后每次你启动shell终端后,输入b,回车,直接就ssh登陆到主机B上。