您的位置:

MAC SSH Key详解

一、SSH Key是什么

SSH Key(Secure Shell Key)是一种用于远程登录加密和身份验证的专门格式化的身份证书。这种证书通常用于* nix和类Unix操作系统,例如Linux、Unix和Mac OS X,而在Windows上,PuTTY客户端也使用SSH密钥。SSH密钥可以方便地授权多个用户并轻松地跟踪每个用户的活动。

SSH Key是一种安全的身份验证方式,相比于密码来说,有更高的安全性和灵活性,同时可以避免每次访问服务器都需要输入密码。

二、如何创建SSH Key

1、打开 Mac 终端(Terminal),输入以下命令:

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2、接着会提示设置SSH Key保存路径:

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

默认路径回车即可,也可以设置自定义路径。

3、最后会提示输入密钥密码(可以不输入,直接回车):

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

输入密码后再次按回车,表示不设置密码。

三、将SSH Key添加到服务器中

1、在终端中输入以下命令,将SSH Key拷贝到服务器上:

$ ssh-copy-id username@remote_host

2、如果第一次连接该服务器,会提示询问是否连接,输入yes后再输入密码即可。

3、如果之前已经连接过该服务器,则可以直接拷贝SSH Key,输入服务器密码即可。

四、SSH Key的优点

1、高度安全性:SSH Key采用非对称密钥算法,可以保证数据传输的安全性。

2、方便快捷:使用SSH Key可以省略输入密码的步骤,提升工作效率。

3、高度灵活性:可以授权多个用户,并且轻松跟踪每个用户的活动。

五、SSH Key的使用场景

1、服务器远程登录:当你需要在服务器上进行操作时,使用SSH Key可以实现快速登录。

2、Git版本控制:当你使用Git进行版本控制时,也可以使用SSH Key进行身份验证。

3、文件传输:使用SCP或SFTP进行文件传输时,也可以使用SSH Key实现身份验证。

六、SSH Key的高级应用

SSH Key不仅可以实现普通用户的登录和操作,还可以实现更高级别的操作。例如:

1、配置Git钩子:你可以编写脚本,实现当每次提交代码时,Git自动执行一些操作,例如运行单元测试、编译代码等。

2、实现SSH代理:你可以使用SSH Key实现SSH代理,从而实现跳板机、端口转发等。

3、使用SSH客户端软件:SSH Key还可以被许多SSH客户端软件使用,例如Xshell、SecureCRT等,这些软件可以方便用户进行远程登录和操作。

七、结语

SSH Key是一种非常实用的工具,可以提高我们的工作效率,同时也可以保证数据的安全性。在使用SSH Key时,需要注意密钥的保存和管理,以免密钥泄露导致数据的损失。

文章代码示例:

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

$ ssh-copy-id username@remote_host