git应用之认识SSH
2017-10-09 本文已影响0人
何wife
1.什么是SSH?
SSH是一种网络协议,用于计算机之间的加密登录。
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。我们主要针对OpenSSH,它是自由软件,应用非常广泛。
如果要 在widows种使用SSH,会使用到一种软件PuTTY,我们用的git客户端也集成了SSH。
格式:ssh user@host
user 代表用户,host代表要登录的远程计算机
常见的两种加密方式
常见的两种加密技术,分别是对称性加密和非对称性加密,SSH属于后者。
对称性加密算法,在加密和解密时,使用的是同一个密钥;
而非对称性加密算法需要两个密钥来进行加密和解密。这两个密钥分别是公开密钥(public key,公钥)和私有密钥(private key,私钥)。
非对称性加密的工作原理
公钥和私钥是成对出现,可以通过ssh-keygen -t rsa来创建,既可以通过密钥加密数据,也可以过通过私钥来加密数据,如果是以公钥进行的数据加密,只有通过与之对应的私钥才可解密,相反,如果以私钥进行的数据加密,则只能通过与之对应的公钥才可将数据解密,这样就可以提高信息传递的安全性,
免密码登录
我们可以将本地机器上的公钥保存到特定的远程计算机上,这样当我们再次登录访问这台远程计算机时就可以实现免密码登录了。
ssh-keygen -t rsa 会创建公钥和密钥(默认在用户目录/.ssh中)
ssh-copy-id user@host 添加到对应远程主机的用户目录/.ssh目录下
也可以登录远程主机,进入到用户目录/.ssh目录下手动创建authorized keys文件,并将自己的公钥粘贴到该文件。