使用ssh免密码登录Linux服务器

服务器

频繁登录Linux服务器时,使用ssh @方式登录,每次都要输入密码是件很麻烦的事情,我们还可以使用私钥/公钥对的方式在免密码登录服务器。

配置步骤

  1. 生成rsa (如果有的情况下,则不需要),先确认.ssh目录是否存在,如果不存在的话创建该目录
mkdir ~/.ssh && cd ~/.ssh ssh-keygen -t rsa // 一直回车
  1. 将公钥上传到远程服务器(其中一种方式)
ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<host>(需要输入远程服务器的密码)
  1. 修改远程服务器的ssh配置文件
vim /etc/ssh/sshd_config // 增加 RSAAuthentication yes PubkeyAuthentication yes
  1. 重启ssh-server
centon7:"systemctl restart sshd" centon6:"service ssh restart"
  1. 设置完成之后就可以使用命令 “ssh @” 不用密码直接登录服务器

如果公钥丢失的情况下

  1. 使用私钥再次生成公钥,使用私钥生成公钥的命令
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
  1. 使用ssh-copy-id上传公钥到服务器之后,公钥是存放在服务器的~/.ssh/authorized_keys中。它的存在格式是一行一个公钥,也可以手动把公钥的内容直接复制到服务器的authorized_keys中。使用命令cat id_rsa.pub可以获取到公钥的内容。

推荐文章

使用ssh免密码登录Linux服务器