在使用git时,如果使用gitolite架设的服务器时,需要用到ssh key来作验证,同时也是方便每次操作git库时免去输密码的麻烦。同样情况,我们在常用的服务器与客户端之间使用SSH访问时,也可以使用ssh key来验证登录身份,每次只需连接即可。
在SSH里提供了两种级别的安全验证,其中一种就是最常用的帐号密码登录方式,这种级别在内网倒没什么问题,如果是在外网,建议使用基于“公钥加密”机制的安全验证了,其采用了非对称加密方式,将公钥上传到服务器,每次从服务器获取数据时,服务器先用公钥将数据加密,然后客户端收到加密后的数据 包再使用相应的私钥解密还原数据,这样就可以保证密文在网络传输过程中的安全,即使有人劫获了密文,没有对应的密钥也是还原不了数据。
那么接下来还是看看如何使用吧!
1.生成钥匙对
xinu@slam:~$ ssh-keygen -t rsa -C “guochongxin@qq.com”
使用上述命令生成钥匙对,其中-t表示钥匙对采用的加密类型为后面设置的rsa,-C是注释,说明这个KEY的用途等,这里使用邮箱主要是方便管理,说明这个KEY是谁的。
运行该命令后有如下内容输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/xinu/.ssh/id_rsa):
这里按“回车”键确认生成的钥匙对保存在默认地址,接下来会提示如下:
Enter passphrase (empty for no passphrase):
这里要求输入密码,如果回车表示密码为空,请按实际处理,输入密码后会提示再次输入确认: