环境
本地计算机:MacBook,假设用户名为:gaussli
远程服务器:CentOS7,假设用户名为:gaussli-remote,IP为:192.168.1.101
处理问题描述
MacBook下gaussli用户以gaussli-remote身份免密码登录到远程服务器192.168.1.104上
- 进入/Users/
/.ssh/(Macbook)或/home/ /.ssh/(Linux)文件夹,若没有则创建一个。如果是对应root用户的话,root的用目录应该是/root/,所以应该创建/root/.ssh/。
1 | cd /Users/gaussli/.ssh/ |
- Macbook生成公私钥
1 | ssh-keygen -t rsa |
连续三次回车,不需要填任何信息。
完成后会得到id_rsa和id_rsa.pub文件,其中id_rsa是私钥,id_rsa.pub是公钥.
- 复制公钥(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文件夹。
- 以gaussli-remote身份进入远程服务器,并进入用户目录下.ssh文件夹
1 | ssh 192.168.1.104 -lgaussli-remote |
回车键入登录密码
- 把公钥写入到authorized_keys文件中,若本来没有这个文件,则创建一个
1 | touch authorized_keys # 没有authorized_keys文件的前提下才执行此命令,用于创建一个名为“authorized_keys”的文件 |
第二条命令使用“>>”,而不是“>”。“>>”是追加内容,“>”是重新写内容,这样能防止authorized_keys文件原本的内容被删除的悲剧。
- 测试,以gaussli-remote身份登录远程服务器
1 | ssh 192.168.1.104 -lgaussli-remote |
若能直接登录,则说明配置成功了。
至此,免登录配置完成。
(•̀ᴗ•́)و ̑̑