告诉你 ssh 的常见使用场景和配置

4,655 阅读3分钟

ssh-key密钥 常用来管理我们的git仓库,gitlab、github都是很常见的。它可以避免我们重复的输入密码,提高开发效率。当然它也可以访问远程服务

下面就来先说一说,如何使用ssh-key,避免多次输入git密码,示例:

查看ssh目录

开启命令行窗口,查看是否存在~/.ssh目录

$ cd ~/.ssh

如果不存在,就新建一个.ssh目录

$ mkdir ~/.ssh

后面讲到的ssh-key密钥文件 就会配置~/.ssh

生成ssh密钥保证

下面我们将生成 github的ssh-key密钥 和 gitlab的ssh-key密钥

进入~/.ssh目录

$ cd ~/.ssh

1. 生成github的ssh-key密钥

$ ssh-keygen -t rsa -C "对应的邮箱地址" 
Generating public/private rsa key pair. 
Enter file in which to save the key (/Users/herrylo/.ssh/id_rsa): id_github_rsa 
Enter passphrase (empty for no passphrase): Enter 
same passphrase again: 
Your identification has been saved in /home/schacon/.ssh/id_github_rsa. 
Your public key has been saved in /home/schacon/.ssh/id_github_rsa.pub. 
The key fingerprint is: 
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

**在第二行市别直接Enter回车哦!**那样会在 ~/.ssh目录下直接生成默认的密钥文件id_rsa,我们需要管理自己的ssh密钥文件,需要修改文件名,文件名可以自己定,不过最好是简单明了。如 

Enter file in which to save the key (/Users/herrylo/.ssh/id_rsa): id_github_rsa 

当然后面的就可以直接回车了!

2. 生成gitlab的ssh-key密钥

$ ssh-keygen -t rsa -C "对应的邮箱地址"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/herrylo/.ssh/id_rsa): id_gitlab_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_gitlab_rsa.
Your public key has been saved in /home/schacon/.ssh/id_gitlab_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

同上:

Enter file in which to save the key (/Users/herrylo/.ssh/id_rsa): id_gitlab_rsa

3.查看生成的ssh-key密钥文件目录

$ ls ~/.ssh 

上面的 id_rsa_github.pubid_rsa_gitlab.pub文件即是github与gitlab需要的公钥文件

vi 查看文件内容,复制文件内容到gitlab和github的ssh配置中心,添加ssh key 

$ vi id_rsa_github.pub

$ vi id_rsa_gitlab.pub

ssh 密钥配置基本完成,上面我们生成了两个密钥,将他们添加到了gitlab和github的ssh配置中心。现在还需要对两个ssh密钥进行管理。 

管理 多个ssh密钥

config文件是管理多个ssh key密钥的配置文件,下面我们需要修改config文件

使用vi编辑查看config文件, 文件修改成如下配置即可:

config文件添加上图中的配置, 记得根据自己的文件位置和用户名、gitlab地址修改。好的,下面我们来试试github是否可以连接成功。

好的,连接成功哦!!👏👏,大功告成!

当然ssh不只有这个用处,还可以连接远程服务器哦。

ssh访问远程服务器

还可以使用ssh访问远程服务器,因为它足够安全,原理我就不多说了,在后面我会将参考文档给大家,感兴趣的可以研究哦。下面需要修改的是~/.ssh下的config配置文件

$ vi config

上面以我的VPS搬瓦工为例:

Host 是自定义的,可以修改,而其中的 HostName 和 Port 是你的服务器IP和端口号

配置完之后保存退出, 在命令行窗口输入:

$ ssh VPS

随后会提示输入服务器访问密码,输入正确,即可访问远程服务器。当然这是在mac系统中,如果是window系统可以使用Xshell访问。 

好了,以上就是平时我使用到的ssh了,管理git的sshkey、访问远程服务器。

欢迎留言,如果有不对的地方希望可以指正!!

参考文章: 

 [SSH原理与运用(一):远程登录]

 [Git - 生成 SSH 公钥]

参考更多博文:

个人掘金更多文章链接

GitHub博文项目更多文章链接;