ssh localhost
如果没有配置密钥登录,执行上面的命令是会要求你输入用户密码的
生成密钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
-P代表密码,这里设置成空
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将密钥导入SSH认证文件
chmod 600 ~/.ssh/authorized_keys
将authorized_keys权限改为600
某些系统默认情况下是没有开启密钥认证的,切换到root用户,修改/etc/ssh/sshd-config,将下面三行去掉注释RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启SSH服务
service sshd restart
退出root用户,在执行ssh localhost就不用密码了
注意:生成密钥的密码最好设置成空,这样不要其他的处理就能免密码登录了,如果密码设置成非空,登录的还是会要求你输入密钥密码,这种情况下就还需要额外的配置ssh-agent才能做到免密码登录