mac 终端登录如阿里云等供应商的服务器,一般有两种方式:1、用户名密码 2、ssh密钥登录(免密) 。第二种明显很方便,不需要每次都输入用户名密码。本文主要介绍一下 mac使用密钥登录远程服务器。
一. 查看本机是否有创建密钥对文件,cd 进入 隐藏的 .ssh/ 创建过的会有两个文件 :id_rsa(私钥) id_rsa.pub(公钥) -----已有的略过第二步 (本地机创建过的略过)
二. 创建密钥对文件(没有的创建)
方式一:暴力方式 打开本地终端,执行 ssh-keygen 命令创建密钥对 一路按回车键直到生成(3次)
方式二:打开本地终端,执行 ssh-keygen -t rsa -C 'your email@domain.com'
-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱,可以省略
三. 复制公钥至服务器(或者1. 使用Cyberdurk上传 2.终端xftp put 命令 3.用 filezilla 工具 然后cp 到隐藏目录 .ssh 本处使用scp 命令复制)
1. 使用 scp 命令将本地的公钥文件 id_rsa.pub
复制到需要连接的Linux服务器:
scp ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/路径/id_rsa.pub
2.如果修改了ssh默认连接端口的话,需要加上端口信息:
scp -P <端口号> ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/路径/id_rsa.pub
3.把公钥追加到服务器ssh认证文件中:
cat /路径/id_rsa.pub >> ~/.ssh/authorized_keys
在本地终端中使用用户名和ip登录就不需要密码了:
ssh <用户名>@<ip>
配置快捷登录(使用别名)
我们可以配置ssh快捷登录更方便的登录Linux;
在本地 ~/.ssh/config
配置文件中添加ssh服务器信息,格式:
Host alias #自定义别名 HostName hostname #替换为你的ssh服务器ip或domain Port port #ssh服务器端口,默认为22 User user #ssh服务器用户名 IdentityFile ~/.ssh/id_rsa #第一个步骤生成的公钥文件对应的私钥文件
到这一步,我们可以使用配置文件中自定义的别名来登录:(如下)
ssh 别名
搞定!!!