目录
一、Bad owner or permissions on .ssh/config的解决
当为本机配一个固定用户名远程登录某主机时,配置了一个config文件,但是在执行ssh免密码登录时报如下的错误:Bad owner or permissions on .ssh/config的解决。
经过查找资料发下解决办法如下:
sudo chmod 600 config
二、解决SSH设置免密登录,却总是要求Enter passphrase for key '/root/.ssh/id_rsa':
执行命令:$ ssh-agent
SSH怎么生成公钥私钥免密登录什么的就不细说了,今天记录的是怎么解决设置完之后,每次还提示”Enter passphrase for key ‘/root/.ssh/id_rsa’:“ 或者其他用户名的这个坑。
ssh localhost, 是不是要你输入id_rsa的密码?
那么一步步检查,到~/.ssh目录下,检查文件和文件权限是否都正确:
.ssh 700
id_rsa 600
id_rsa.pub 644
authorized_keys 600 已经有你的public key
接下来要做的是:
axing@LD8:~/.ssh$ ssh-add id_rsa Could not open a connection to your authentication agent.
这说明agent设置有问题,我们接着看
axing@Bastion_LD8:~/.ssh$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-w0wtXVdGAZet/agent.21338; export SSH_AUTH_SOCK; SSH_AGENT_PID=21339; export SSH_AGENT_PID; echo Agent pid 21339;
接着执行以下命令:
axing@LD8:~/.ssh$ eval $(ssh-agent) Agent pid 21341
#再添加私钥到agent
axing@LD8:~/.ssh$ ssh-add id_rsa Enter passphrase for id_rsa: Identity added: id_rsa (id_rsa)
#测试一下:
axing@LD8:~/.ssh$ ssh localhost Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-43-generic x86_64) 以上配置完成后仅在本次登陆有效。当tty退出或服务器重启后还需要再来一遍。为了永久生效,需要如下配置。两种办法,第二种验证在SuSE上无效,仅作为记录:
1、第一种方法:借助第三方工具keychain
下载地址
https://github.com/funtoo/keychain
下载后解压缩,将keychain拷贝到bin目录
cp keychain /usr/bin/
修改用户配置文件
#vim ~/.bash_profile
keychain ~/.ssh/id_rsa . ~/.keychain/$HOSTNAME-sh source ~/.bash_profile
尝试登陆
2、第二种方法:
创建文件 ~/.ssh/config
Host docker-01 #docker-01 是主机名 UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa
如果仍然不生效,执行如下命令试试:
ssh-add -K ~/.ssh/id_rsa (参数K也可能是小写k,根据系统不同)