情景:
需要在 B机以用户 test身份,无密钥登录远程系统 A机
一、远程linux系统配置(A机)
1.修改sshd配置文件(/etc/ssh/sshd_config).
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys # 会去登录账户下的 ~/.ssh/authorized_keys文件中去寻找key
2.重启 sshd服务
service sshd restart
3.创建.ssh目录,并修改权限(用test用户创建修改权限)
mkdir ~/.ssh
chmod 700 ~/.ssh
二、本地linux系统配置(B机)
1.要登录的远程用户的同名账户
如要用A机 test用户登录,则输入下列命令
adduser test
2.切换用户
su test
3.生成密钥对
ssh-keygen -t rsa
一路回车
4.拷贝公钥到远程linux即A机
在B机执行命令
scp ~/.ssh/id_rsa.pub test@123.123.123.123:~/.ssh/
在A机执行命令(test用户执行)
cat ~/.ssh/id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
在B机进行登录(test用户)
ssh 123.123.123.123
即可无密码登录到A系统
5.注意事项
远程系统A机的目录.ssh以及文件authorized_keys的权限分别是700和600,如果权限不正确也可能导致登录失败