$ whoami
name: kelvin
email: kelvv@outlook.com
homepage: www.kelvv.com
github: https://github.com/kelvv
Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。
使用场景?
- linux 无密login
- git 无密push
ssh有啥?
ssh中,有两个钥匙:公钥、私钥 ,公钥主要是用于对一些敏感信息进行加密 , 私钥是用于对解密 。
ssh的文件都存在于机器的~/.ssh中。
- 客户机端:id_rsa(私钥) 、 id_rsa.pub(公钥) 、 known_hosts(已知远程主机)
- 服务器端:authorized_keys(验证过的公钥列表) 、 sshd_config(ssh配置文件)
linux 无密login
linux的远程登录默认是需要密码的,但是我们可以通过ssh通道,进行无密登录,也就是说每次登录只需要 ssh username@host 就能成功登录远程机器。
*下面是无密登录的完整过程:
- 客户机使用ssh-keygen生成密钥对(私密id_rsa、公密id_rsa.pub)。
- 复制公密id_rsa.pub的内容
$ pbcopy < ~/.ssh/id_rsa.pub
- 使用ssh登录到远程机器(这次需要密码)
$ ssh root@host //root:帐号 , host :服务器IP地址
- 把剪切版的内容粘贴到~/.ssh/authorized_keys中,退出登录
$ exit