以证书的方式登录ssh

来源:互联网 发布:华为穆斯林0 知乎 编辑:程序博客网 时间:2024/05/22 15:58
常常要登录多台Linux服务器,过去在Windows下使用SecureCRT,比较省心,配置还可以放到云盘,实时同步。现在改用MAC貌似就没有那么好用的东西了,每次ssh命令登录都需要输入密码,很烦。最终找到iTerm + 以证书方式登录ssh,基本能解决需要记忆ip和用户名密码的问题。具体步骤如下:

一、以证书的方式登录ssh

假设要从机器A ssh到 机器B,则称A为客户端,B为服务器。

1、首先在客户端生成证书,运行命令,会得到如下内容:

$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/Users/palance/.ssh/id_rsa): <name>Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in <name>.Your public key has been saved in <name>.pub.The key fingerprint is:SHA256:7ut9SExi8YHdgUlGnpFgZaq8w8cLlBiBr6ZVFTamAV8 xxxx@xxxxdeMacBook-Pro.local

该命令会在当前目录生成私钥文件(<name>)、公钥文件(<name>.pub),同时要求你输入一个私钥的密码,这在后面会用到。

2、在客户端执行

scp <name>.pub <username>@<ssh_server_ip>:~
cp <name> ~/.ssh/

把公钥文件拷到服务器,私钥文件拷到本地~/.ssh下面。

3、在服务器执行

cat  <name>.pub >> ~/.ssh/authorized_keys

搞定!

在客户端执行

ssh -i ~/.ssh/<name> <username>@<ssh_server_ip>

第一次会让输入私钥密码,加入本地钥匙串,以后就可以直接登录。

二、使用iTerm添加新的Profile,在Command中填入:ssh -i ~/.ssh/<name> <username>@<ssh_server_ip>

即可。

0 0
原创粉丝点击