Mycheol

Mac上使用ssh远程连接免密登录Linux服务器
说明:一般来说,想要连接远程 VPS 服务器,我们会在终端执行ssh root@hostname -p port这...
扫描右侧二维码阅读全文
09
2019/03

Mac上使用ssh远程连接免密登录Linux服务器

说明:一般来说,想要连接远程 VPS 服务器,我们会在终端执行ssh root@hostname -p port这个命令,然后输入密码来登入,才能对远程服务器进行操作。假如一天需要多次登录服务器,就需要反复输入很多遍密码,而像 Xshell 这样的好用的可以记住密码的软件并没有 Mac 的版本。尤其像我这样有蛮多 VPS 的人,每次都去翻邮件查看并复制相应的密码非常麻烦,所以咱们懒人还是配置一下免密登录服务器吧!

一、在Mac下进行的操作

1. 首先进入本地~/.ssh目录

在终端中输入下面的命令,进入本地~/.ssh目录。

cd ~/.ssh

2. 在本地~/.ssh目录中生成公钥和私钥

输入下列命令后回车。

ssh-keygen -t rsa

之后可以一路按回车来忽略提示输入,即可在本地~/.ssh目录中生成私钥文件id_rsa和公钥文件id_rsa.pub。接下来我们只要把公钥文件上传到我们的VPS服务器的~/.ssh目录就好了。

3. 将本地创建的公钥上传到服务器

上传之前,我们要先登录远程 Linux 服务器,检查一下是否存在~/.ssh目录,没有的话就创建一个。

##查看是否有隐藏目录.ssh
ls -a

##有的话无需操作,没有的话就创建目录
mkdir -p ~/.ssh

然后回到 Mac 终端使用 scp 命令上传公钥文件:

##将公钥上传到Linux服务器的.ssh目录下
scp ~/.ssh/id_rsa.pub root@hostname:~/.ssh/

二、在远程Linux服务器下进行操作

1. 使用cat将公钥添加到authorized_keys文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2. 修改相应的文件权限

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

现在,我们可以在 Mac 的终端中使用 ssh 命令来登录服务器,发现此时已经不需要再输入密码了。

三、使用别名,更加便捷的登录远程服务器

##进入本地~/.ssh目录
cd ~/.ssh

##创建登录配置文件
vim config

进入编辑模式,按以下模板填写配置并保存。
注意:#注释内容(包括#前的空格)需要删除,不然加载配置的时候可能会出现错误

Host               alias #自定义别名,可自行修改
HostName           hostname #替换为你的ssh服务器ip或domain
Port               port #ssh服务器端口,默认为22
User               user #ssh服务器用户名
IdentityFile       ~/.ssh/id_rsa #之前生成的公钥文件对应的私钥文件

在 Mac 终端中,通过输入ssh+别名就可以很方便的免密远程登录Linux服务器了!

ssh alias
Last modification:March 14th, 2019 at 12:59 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

2 comments

  1. juning   Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)

    好东西,转载了!

    1. Mycheol   Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 77.0.3865.90(Google Chrome 77.0.3865.90)
      @juning

      可以,欢迎转载