SSH(Secure Shell)是一种用于远程登录的加密的网络协议。它有多种实现方式,OpenSSH是比较常见的。这里的加密指的是计算机之间的通信是通过RSA对称加密体系加密。
角色:客户机(client)、远程主机(server)
基本用法1——密码登录方式
- client ---> server :登录请求
- server ---> client :server的公钥
- client用server的公钥加密的登录密码
client ---> server :加密后的登录密码- server用自己的私钥解密消息,获取client的登录密码,进行身份验证。
每次登录都需要输入密码(除非默认为空)。
// 发送登录请求(不同的参数)
ssh host
ssh user@host
ssh -p 2222 user@host
// 输入密码
基本用法2——公钥登录方式
- client ---> server :client的公钥
- server生成一串随机数,用client的公钥加密随机数
server ---> client :加密后的随机数- client用自己的私钥解密消息,获得server发送的随机数
client ---> server :解密得到的随机数- server检查收到的随机数是否正确
公钥拷贝操作只进行一次,不需要每次登录时输入密码。
ssh-keygen // client生成公钥和私钥
ssh-copy-id user@host // client将自己的公钥拷贝到server
网友评论