配置SSH证书登录验证

1)先添加一个维护账号:msa 
2)然后su - msa
3)ssh-keygen -t rsa 指定密钥路径和输入口令之后,即在/home/msa/.ssh/中生成公钥和私钥:id_rsa id_rsa.pub
4)cat id_rsa.pub >> authorized_keys 至于为什么要生成这个文件,因为sshd_config里面写的就是这个。 然后chmod 400 authorized_keys,稍微保护一下。 
5)用psftp把把id_rsa拉回本地,然后把服务器上的id_rsa和id_rsa.pub干掉 

6)配置/etc/ssh/sshd_config 

   Protocol 2 
   ServerKeyBits 1024 
   PermitRootLogin no #禁止root登录而已,与本文无关,加上安全些 


 #以下三行没什么要改的,把默认的#注释去掉就行了 


  RSAAuthentication yes 

  PubkeyAuthentication yes 

  AuthorizedKeysFile .ssh/authorized_keys 

  PasswordAuthentication no

  PermitEmptyPasswords no 


7)重启sshd /sbin/service sshd restart
8)转换证书格式,迁就一下putty 运行puttygen,转换id_rsa为putty的ppk证书文件 
9)配置putty登录 在connection--SSH--Auth中,点击Browse,选择刚刚转换好的证书。 然后在connection-Data填写一下auto login username,例如我的是msa 在session中填写服务器的IP地址,高兴的话可以save一下
10)解决一点小麻烦 做到这一步的时候,很可能会空欢喜一场,此时就兴冲冲的登录,没准登不进去: No supported authentication methods available 这时可以修改一下sshd_config,把 PasswordAuthentication no 临时改为: PasswordAuthentication yes 并重启sshd 这样可以登录成功,退出登录后,再重新把PasswordAuthentication的值改为no,重启sshd。 以后登录就会正常的询问你密钥文件的密码了,答对了就能高高兴兴的登进去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在2021年,使用Ubuntu搭建SSH证书登录是一种安全可靠的方法。SSH证书是用于验证用户身份的一种方式,相比于传统的用户名和密码认证方式更加安全。 在Ubuntu上生成SSH证书的步骤通常如下: 1. 在终端中运行ssh-keygen命令来生成公钥和私钥,可以指定算法、密钥长度等参数。 2. 设置密码以保护私钥的安全。 3. 在~/.ssh目录下生成的id_rsa.pub文件中找到公钥,将其复制。 4. 在目标服务器上创建一个新用户,例如使用adduser命令。 5. 将复制的公钥粘贴到目标服务器新用户的~/.ssh/authorized_keys文件中。 6. 修改目标服务器上SSH配置文件/etc/ssh/sshd_config,确保PubkeyAuthentication设置为yes。 7. 重启SSH服务以使修改生效。 使用证书登录后,你可以删除或禁用传统的用户名和密码登录方式,提高系统的安全性。此外,使用证书登录在多台服务器之间切换时也更加方便,无需每次输入密码。 在Ubuntu中管理SSH证书也比较简单。你可以使用ssh-add命令将私钥添加到SSH agent中,这样可以在登录时自动使用证书进行身份验证。如果需要撤销或更改证书,可以使用ssh-keygen命令重新生成新的密钥对,并更新目标服务器的authorized_keys文件。 总之,Ubuntu上使用SSH证书登录是一种安全、高效的身份验证方式,可以增加系统的安全性和便利性。在2021年以及将来的时间里,它仍然是一种被广泛使用的方法。 ### 回答2: Ubuntu系统中,SSH证书是用于身份验证和安全连接的一种机制。2021年的Ubuntu系统中使用SSH证书仍然是一种常见且安全的方法。 SSH证书通常由公钥和私钥组成。公钥部分存储在目标服务器的".ssh/authorized_keys"文件中,而私钥则保存在客户端的".ssh"文件夹中。在使用SSH登录远程服务器时,客户端会使用私钥进行加密,服务器使用公钥进行解密和验证身份。 使用SSH证书的好处是它允许用户在无需输入密码的情况下进行远程登录,提供了更高的安全性。同时,SSH证书还可以防止中间人攻击,因为私钥只存在于客户端,不会在网络中传输。 生成SSH证书的方法很简单。首先,在目标服务器上创建一个新的密钥对,使用命令"ssh-keygen"生成公钥和私钥。然后将公钥复制到服务器的"authorized_keys"文件中。最后,将私钥复制到客户端的".ssh"文件夹中,确保私钥的权限设置正确。 使用SSH证书进行远程连接时,只需提供私钥的路径和用户名即可,无需输入密码。这样可以方便、安全地进行远程操作。 总的来说,Ubuntu系统中的SSH证书仍然是一种可靠且广泛应用的身份验证机制。通过生成公钥和私钥,并在服务器和客户端进行相应配置,可以实现安全、免输入密码的远程连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值