登录流程
密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需要用到密钥对。整个登录流程如下:
- 远程服务器持有公钥,当有用户进行登录,服务器就会随机生成一串字符串,然后发送给正在进行登录的用户。
- 用户收到远程服务器发来的字符串,使用与远程服务器公钥配对的私钥对字符串进行加密,再发送给远程服务器。
- 服务器使用公钥对用户发来的加密字符串进行解密,得到的解密字符串如果与第一步中发送给客户端的随机字符串一样,那么判断为登录成功。
配置密钥可使用户免密ssh方式登录服务器。
第一步:生成密钥
ssh-keygen -t rsa -C "youremail@qq.com"
引号内的email改为你自己的,一路回车保持默认,就可以生成。
查看生成的公钥和私钥:ls ~/.ssh
可以看到两个密钥文件:id_rsa
(私钥)、id_rsa.pub
(公钥)
第二步:在服务器安装公钥
手动拷贝id_rsa.pub到服务器,并追加到authorized_keys
文件内
cat id_rsa.pub >> ~/.ssh/authorized_keys
或者用命令:scp ~/.ssh/id_rsa.pub root@192.168.x.x:/root/.ssh/authorized_keys
1、设置权限
对服务器的authorized_keys
文件和.ssh
目录赋予权限;权限过大,ssh会禁止登录。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
2、测试免密登录
方式一ssh root@192.168.x.x
方式二ssh -l root 192.168.x.x
如果不需要密码直接登录,说明配置成功,可以跳过以下步骤。
3、设置ssh,打开密钥登录功能
编辑/etc/ssh/sshd_config
文件,修改保存,重启sshd服务。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启sshd服务service sshd restart
其他配置项,根据需要修改:
允许root用登录PermitRootLogin yes
允许密码登录PasswordAuthentication yes
版权属于:大卫科技Blog
本文链接:https://www.iyuu.cn/archives/435/
转载时须注明出处