SSH - Secure Shell

实现软件:

OpenSSH, SSH Communications Security Corporation

sshd: SSH服务端程序
ssh: SSH客户端程序

密码登录

  1. Client发送登录请求,Server收到后,向Client发送public key
  2. Client使用public key加密登录密码,并发送至Server
  3. Server使用private key解密密码,并验证是否允许登录

危险:man-in-the-middle截获登录请求,冒充Server。
解决方法:提示key fingerprint,用户自行核对。

公钥登录

  1. Client将public key发送并保存在Server上
  2. Client发送登录请求,Server随机产生字符串,并发送给Client
  3. Client使用private key将字符串加密,并发送给Server
  4. Server使用public key解密字符串,并验证是否允许登录

ssh-agent

执行eval `ssh-agent -s`
ssh-agent 启动后,只需首次连接时输入passphrase,之后这个key的信息就会保存在ssh-agent里,即不必再输入passphrase。

Tips:

  • .ssh目录权限必须是700
  • 使用ssh-copy-id将公钥发送至Server:ssh-copy-id -i ~/.ssh/mykey user@host
    authorized_keys的权限必须是600

你可能感兴趣的:(SSH - Secure Shell)