Mac终端配置免密码登陆云服务器

2020-04-24  本文已影响0人  佛系千树

前言

个人购买了阿里云服务器,配置好远程连接密码和登陆密码后,使用iTerm2终端ssh root@ip,每次都需要输入密码,实在是麻烦。

所谓的ssh免密登陆,其实是将本机的公钥存到服务器上,authorized_keys文件是Linux系统默认生成的用来保存远程登录设备的公钥。初始时为空,在.ssh目录下。

环境准备

  1. 阿里云ECS服务器
  2. macOS系统
  3. 本机SSH公钥
    (1)查询本地是否生成过
cat ~/.ssh/id_rsa.pub

如果没有,则继续执行(2)
(2)生成公钥

ssh-keygen -t rsa
或
ssh-keygen -t rsa -C "email地址"

说明:第二个引号内是邮箱mail,生成后可以作为Git远程仓库使用。该指令回车后需要输入键值对和密码,直接回车就行。

执行(1),查看是否公钥是否生成。

配置

下面提供了两种方法,二选一即可。

方法一
  1. 如果是第一次配置,先查看远程服务器 /home下是否有.ssh文件夹,如果没有,执行:
mkdir .ssh

如果有,该步骤跳过。

  1. 将本机公钥文件上传至服务器
scp .ssh/id_rsa.pub root@ip:/home/.ssh
  1. 添加公钥到authorzied_keys文件
cat id_rsa.pub >> .ssh/authorized_keys
  1. 删除临时文件
rm id_rsa.pub
方法二

终端执行:

ssh-copy-id root@ip

输入登陆密码(即实例密码)即可。

配置成功信息如下:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'root@xxx.xx.xxx.xxx'"
and check to make sure that only the key(s) you wanted were added.

这里我使用的是方法二。需要说明的是,如果使用该方法,不需要查看服务器是否有.ssh文件夹。

测试

上面的方法二选一即可,终端执行ssh root@ip就可以实现免密码登陆了。

其他

在本机.zshrc中配置别名

alias[别名]=[指令名称]
如:
alias liulinde='ssh root@xxx.xx.xxx.xxx'

保存退出后,执行命令使改动生效。

source .zshrc

回到终端,示例如下:

~ liulinde
Last failed login: Fri Apr 24 22:24:18 CST 2020 from 138.204.122.220 on ssh:notty
There were 2 failed login attempts since the last successful login.
Last login: Fri Apr 24 21:38:32 2020 from 117.100.126.53

Welcome to Alibaba Cloud Elastic Compute Service !

简单好记!

上一篇下一篇

猜你喜欢

热点阅读