2025년 6월 28일 토요일

SSH fingerprint 확인 및 삭제

SSH fingerprint는 리모트 SSH 공개키의 hash입니다. 리모트에 SSH 접속하면 해당 리모트의 SSH fingerprint를 저장하게 되고, 이후 접속마다 hash를 비교하여 의도치 않은 리모트에 접속(man in the middle attack)하는 것을 막아줍니다.

따라서 리모트의 SSH 키가 변경되면 접속 요청 시 다음과 같은 오류가 발생하기 때문에, 클라이언트에 저장된 fingerprint를 제거해주어야 합니다.


저장된 fingerprint 리스트를 확인하기 위해 다음 커맨드를 실행합니다.

vi ~/.ssh/known_hosts

원하는 host의 fingerprint를 삭제한 후 저장합니다.

다시 SSH 접속을 시도하면, 최초 접속과 동일하게 fingerprint를 저장한 후 접속할 수 있습니다.


scp를 사용한 로컬-리모트 간 복사

scp를 사용하여 리모트에서 로컬로, 로컬에서 리모트로 파일을 전송하는 방법을 알아봅니다.
secure copy라는 이름대로 cp와 동일한 감각으로 사용할 수 있습니다.

참고: scp man 


리모트 to 로컬 복사

로컬에서 다음 커맨드를 실행합니다.

scp {username}@{remote-host}:{remote-copy-from} {local-copy-to}

예시)

scp ariadacapo@111.222.333.444:~/backup ~/backup


SSH 포트를 변경했을 경우

SSH 포트를 변경하여 22와 다를 경우 -P 옵션을 추가합니다.

scp -P {remote-port} {remote-username}@{remote-host}:{remote-copy-from} {local-copy-to}

예시)

scp -P 1234 ariadacapo@111.222.333.444:~/backup ~/backup


디렉토리를 복사하는 경우

파일이 아니라 디렉토리를 복사하는 경우 -r 옵션을 추가합니다.

scp -r {remote-username}@{remote-host}:{remote-copy-from} {local-copy-to}

예시)

scp -r ariadacapo@111.222.333.444:~/backup ~/backup


로컬 to 리모트 복사

파라미터 순서 외에는 리모트 to 로컬 복사 방법과 동일합니다.

로컬에서 다음 커맨드를 실행합니다.

scp {local-copy-from} {username}@{remote-host}:{remote-copy-to}

예시)

scp  ~/backup ariadacapo@111.222.333.444:~/backup


SSH 포트를 변경했을 경우

SSH 포트를 변경하여 22와 다를 경우 -P 옵션을 추가합니다.

scp -P {remote-port} {local-copy-from} {remote-username}@{remote-host}:{remote-copy-to}

예시)

scp -P 1234 ~/backup ariadacapo@111.222.333.444:~/backup


디렉토리를 복사하는 경우

파일이 아니라 디렉토리를 복사하는 경우 -r 옵션을 추가합니다.

scp -r {local-copy-from} {remote-username}@{remote-host}:{remote-copy-to}

예시)

scp -r ~/backup ariadacapo@111.222.333.444:~/backup