linux ssh 无密码登陆笔记

首先要整明白ssh的相关原理和配置文件准备。

第一,配置文件目录:/etc/ssh/,(debian系统)
 ssh_config文件需要注意的有,是否需要代理转发(#   ForwardAgent yes),是否更改了默认的端口22(#   Port 22)
 sshd_config是ssh服务配置文件,更改后要重启ssh服务。需要注意的有,是否允许root用户无密码ssh登陆(PermitRootLogin no)。是否使用公钥认证(PubkeyAuthentication yes),我们这里确定一定肯定是使用公钥认证。默认的公钥文件名(AuthorizedKeysFile .ssh/authorized_keys),一般不用改。是否使用密码验证(PasswordAuthentication no),当然不用,否则我们还配什么无密码登陆?是否允许空密码登陆(PermitEmptyPasswords no),呵呵。是否启用了远程ip过滤,如果有的话,做适当的配置(AllowUsers *@123.124.125.*),这几个配置很重要。改完配置要重启服务。

第二,.ssh目录要求700权限,公钥文件要求600权限。

第三,报错连不上怎么办?一是看debug信息,ssh -vv hostname,二是看系统日志,/var/log/auth.log(其他系统可能文件名不同),这里的错误信息很详细,比如新增加的用户是锁定的,这里会报:sshd[13321]: User XXX not allowed because account is locked,重置密码解锁就可以了。

操作是很简单的:

1、在ssh发起机器执行: ssh-keygen -t dsa, 一路回车。

2、将公钥保存成文件:authorized_keys,并追加到ssh接受方机器对应目录文件里。

3、修改相应目录,文件权限。​

你可能感兴趣的:(linux)