190930 TIL SSH
Sep 30, 2019
»
1막,
TIL (Today I Learned)
SSH
- SSH는 양쪽의 키를 확인함으로써 더블 보안~
-
SSH
===Secure Shell
- 위키
SSH uses public-key cryptography to authenticate the remote computer and allow it to authenticate the user, if necessary. There are several ways to use SSH; one is to use automatically generated public-private key pairs to simply encrypt a network connection, and then use password authentication to log on.
Another is to use a manually generated public-private key pair to perform the authentication, allowing users or programs to log in without having to specify a password. In this scenario, anyone can produce a matching pair of different keys (public and private). The public key is placed on all computers that must allow access to the owner of the matching private key (the owner keeps the private key secret). While authentication is based on the private key, the key itself is never transferred through the network during authentication. SSH only verifies whether the same person offering the public key also owns the matching private key. In all versions of SSH it is important to verify unknown public keys, i.e. associate the public keys with identities, before accepting them as valid. Accepting an attacker's public key without validation will authorize an unauthorized attacker as a valid user.
SSH는 public-key 암호학을 사용해 리모트 컴퓨터를 인증하고 필요하면 유저가 인증을 하도록 허락한다. SSH를 쓸 수 있는 방법엔 여러가지가 있는데, 한 가지는 자동적으로 생성되는 public-private 키 pair를 단순히 네트워크 커넥션을 암호화하는 데 사용하고 비밀번호 인증을 로그온할 때 사용하는 것이다.
또다른 방법은 직접 생성한 public-private 키 pair를 유저나 비밀번호를 명시할 필요 없이 로그인할 때 쓰는 것이다. 이 방식에서는 누구나 public과 private에 매칭되는 서로 다른 pair키를 생성할 수 있다. 매칭되는 private 키 주인에게 접근을 허락하는 public 키는 모든 컴퓨터에 있다. (키 주인이 private 키 secret을 갖고 있다.) private 키에 따라 인증이 되는 동안, 키 자체는 절대 네트워크를 통해 전달되지 않는다. SSH는 오직 public 키를 전달하는 사람이 매칭되는 private 키를 갖고 있는지만 판별한다. 모든 버젼의 SSH에서 알려지지 않은 public 키들을 판별하는 게 중요하다. 예를 들어, public 키를 유효하다고 받아들이기 전에 public 키를 신원과 확인한다. attacker의 public 키를 validation 없이 받아들이는 것은 승인되지 않은 attacker를 유효한 유저로 인증하는 것이다.