linux 配置 ssh密钥登陆

配置这个其实很简单 一点也不复杂:

首先需要在服务器安装openssh,如果你不安装你是找不到配置密钥登陆的配置文件的。

yum install -y openssh

安装好后就需要去配置密钥登陆了。

vi /etc/ssh/sshd_config
#配置文件不要搞错了是sshd_config 不是 ssh_config

#然后是几个重要的参数
PermitRootLogin yes #允许root登录
PermitEmptyPasswords yes #允许空密码登录,
PasswordAuthentication yes #允许密码登陆,这个配置就看自己了,即然配了密钥那密码登还是关掉好。
RSAAuthentication yes #允许用RSA密钥进行身份验证
PubkeyAuthentication yes #允许用公钥进行身份验证
AuthorizedKeysFile .ssh/authorized_keys #密钥位置,这个位置不用改

:wq 
#保存退出

然后就是去生成密钥了。切换到你要配置密钥登陆的用户,切换用户是因为生成密钥会自动保存到用户的家目录,就不用手动去指定了。

#运行命令,一路回车最后会生成 两个文件 id_rsa与id_rsa.pub
ssh-keygen -t rsa 

#生成的两个文件会保存在~/.ssh目录内
#运行命令 
cat id_rsa.pub >> authorized_keys
#把公钥导入到 authorized_keys

#然后重启一下ssh服务 一般都会成功
systemctl start(restart) sshd

#然后查看ssh 服务运行状态
systemctl status sshd

这里有几个重要的地方

~/.ssh 目录需要是700权限

chmod 700 .ssh


~/.ssh/authorized_keys 文件要设置成600权限

chmod 600 ./.ssh/authorized_keys

还有一个最重要的,~/.ssh的所有者一定要是家目录用户 这个一定不要搞错,这种情况一般出现在用root用户配置其他用户密钥的情况。

然后把id_rsa传到本地。

再次连接远程服务的时候,就会提示你选择密钥就选择id_rsa文件就能验证成功。


当然id_rsa这个密钥对的文件名是可以修改的,在生成密钥的时候自己输入保存路径就可以改变这个名称,也可以生成后自己手动修改。


还有就是本地生成密钥也是可以的,本地生成后将公钥上传到服务器,将公钥内容追加到authorized_keys文件中,然后重启 sshd服务就行了。

Tags linux

留言(0)

评论