linux 无密码验证,在Linux系统中设置无密码SSH身份验证的两个简单步骤

如果要在基于Linux的系统中使许多事情自动化,则首要要求是在Linux系统之间设置无密码SSH身份验证。另外,如果您的环境中有大量服务器,则必须设置无密码SSH身份验证,因为您无法每次都在终端中输入密码,同时也有诸多不便,因为在某些问题上使用多台服务器时,这可能会减慢您的工作速度。不过这只需两个简单的步骤即可轻松完成,在本文中,我们将说明如何在Linux系统上设置无密码SSH登录。

a4a3ccf29ba51d8cc23084bed07de99f.png

步骤一:在您的本地系统上生成公钥/私钥对(RSA或DSA)

首先我们需要通过运行ssh-keygen命令来生成SSH密钥对(RSA或DSA)。

如果您想设置完全无密码的登录,请不要在提示时输入密码:

$ ssh-keygen

d8955b5ac06bc20f15c8fdfbf9ac3118.png

上面的命令将在~/.ssh目录中创建以下两个文件:

~/.ssh/id_rsa:私钥。

~/.ssh/id_rsa.pub:公钥。

可以使用ls命令查看生成的密钥:

$ ls -lh ~/.ssh/

7ee5eac496fa86fd96d4f0a6bb292300.png

默认情况下,它会生成RSA类型的密钥对,如果您想生成DSA类型的密钥对,请在ssh-keygen命令中使用-t选项:

# ssh-keygen -t dsa

默认情况下,密钥的长度为2048位,如果您希望更强的安全性,则可以使用-b选项指定4096位的密钥:

# ssh-keygen -t rsa -b 4096

步骤二:将公钥上传到远程Linux服务器

可以使用ssh-copy-id命令将其轻松复制到远程Linux服务器:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub daygeek@192.168.1.7

4a212bf02d72d1b560dfab51179379c7.png

公钥将存储在远程用户主目录中的~/.ssh/authorized_keys文件中。

现在该进行测试了,现在,您无需输入密码就可以通过SSH进入远程服务器:

$ ssh daygeek@192.168.1.7

477a2ad40425d503fdb68d6106691949.png

温馨提示:如何在Linux中禁用密码身份验证?

实现这个操作非常的简单。由于我们启用了基于公共密钥的身份验证,因此,我建议您禁用基于密码的身份验证,以防止暴力攻击。

为此,请在远程服务器上的/etc/ssh/sshd_config文件中进行以下更改:

# vi /etc/ssh/sshd_config

PasswordAuthentication no

ChallengeResponseAuthentication no

最后重新启动ssh服务。

对于SysVinit系统:

# service ssh restart

对于systemd系统:

# systemctl restart ssh

至此,操作完成。

相关主题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值