关闭

Linux如何设置ssh密钥(免密码)登录

发表于:2023-9-18 09:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小达    来源:IT之家

  我们在使用ssh客户端远程连接Linux服务器时,为了考虑安全方面的因素,通常使用密钥的方式来登录。密钥分为公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,私钥是由个人自己持有,并且必须妥善保管和注意保密。
  Linux设置密钥登录的步骤
  一、生成密钥(公钥与私钥)
  执行ssh-keygen命令,生成id_rsa和id_rsa.pub两个文件,id_rsa是私钥(重要,需安全保管),id_rsa.pub是公钥,密钥生成过程中可根据提示对密钥设置密码,也可留空直接回车。
  解释:
  -t 选项指定要使用的加密算法,“rsa”表示使用RSA算法;
  -b 选项指定密钥的长度;
  -C 选项是可选的,用于添加注释。
  二、创建authorized_keys文件并设置权限
  1.查看密钥认证文件authorized_keys是否存在,若不存在则创建并授权,命令如下:
  [root@server1 ~]# touch ~/.ssh/authorized_keys
  [root@server1 ~]# ~/.ssh/authorized_keys
  2.将公钥内容追加到authorized_keys文件中
  [root@server1 ~]# cd ~/.ssh
  [root@server1 .ssh]# cat id_rsa.pub >> authorized_keys
  三、设置sshd配置文件允许使用密钥登录
  修改sshd_config文件,启用以下参数:
  RSAAuthentication yes
  PubkeyAuthentication yes
  PermitRootLogin yes
  AuthorizedKeysFile .ssh/authorized_keys
  修改完配置文件,重启sshd服务:
  [root@server1 ~]# systemctl restart sshd
  四、使用私钥登录验证
  在Linux主机上登录验证:
  [root@server1 .ssh]# ssh root@localhost -i id_rsa
  Last login: Wed Sep 13 17:13:28 2023 from 192.168.15.1
  在Win下使用ssh客户端导入私钥登录验证:
  五、禁用密码登录
  修改sshd_config文件,启用以下参数:
  PasswordAuthentication no
  重启sshd服务:
  [root@server1 ~]# systemctl restart sshd
  至此,Linux已经设置为密钥登录,相对于使用密码认证登录的方式更为安全,前提是私钥要安全保管。今天的分享就到这里了,你学会了吗?
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号