[Linux]免密码登录

环境

本地计算机:MacBook,假设用户名为:gaussli
远程服务器:CentOS7,假设用户名为:gaussli-remote,IP为:192.168.1.101

处理问题描述

MacBook下gaussli用户以gaussli-remote身份免密码登录到远程服务器192.168.1.104上

  1. 进入/Users//.ssh/(Macbook)或/home//.ssh/(Linux)文件夹,若没有则创建一个。如果是对应root用户的话,root的用目录应该是/root/,所以应该创建/root/.ssh/。

1
cd /Users/gaussli/.ssh/
  1. Macbook生成公私钥

1
ssh-keygen -t rsa

连续三次回车,不需要填任何信息。

完成后会得到id_rsa和id_rsa.pub文件,其中id_rsa是私钥,id_rsa.pub是公钥.

  1. 复制公钥(id_rsa.pub)到远程服务器

1
scp /Users/gaussli/.ssh/id_rsa.pub gaussli-remote@192.168.1.104:/home/gaussli-remote/.ssh/

若远程服务器的用户目录(这里是/home/gaussli-remote/)下没有.ssh文件,会出现公钥文件复制失败的问题,可先在远程服务器用户目录(这里是/home/gaussli-remote/)下新建.ssh文件夹。

  1. 以gaussli-remote身份进入远程服务器,并进入用户目录下.ssh文件夹

1
2
ssh 192.168.1.104 -lgaussli-remote
cd ~/.ssh/

回车键入登录密码

  1. 把公钥写入到authorized_keys文件中,若本来没有这个文件,则创建一个

1
2
touch authorized_keys   # 没有authorized_keys文件的前提下才执行此命令,用于创建一个名为“authorized_keys”的文件
cat id_rsa.pub >> authorized_keys

第二条命令使用“>>”,而不是“>”。“>>”是追加内容,“>”是重新写内容,这样能防止authorized_keys文件原本的内容被删除的悲剧。

  1. 测试,以gaussli-remote身份登录远程服务器

1
ssh 192.168.1.104 -lgaussli-remote

若能直接登录,则说明配置成功了。

至此,免登录配置完成。

(•̀ᴗ•́)و ̑̑

Share