ssh 키란
SSH(Secure Shell)는 네트워크 상에서 안전하게 원격 접속을 할 수 있도록 해주는 암호화 기반 프로토콜입니다. 비밀번호 대신 공개키/개인키 방식의 인증을 사용하면 보안성과 편의성을 모두 얻을 수 있습니다.
ssh 키 생성하기
키 생성 명령어
ssh-keygen -t rsa -b 4096-t: 키 타입 (보통 rsa 또는 ed25519)-b: 키 길이 (rsa의 경우 4096 추천)
과정
- 명령어 실행 후, 키를 저장할 경로와 파일명을 입력합니다. (기본값:
~/.ssh/id_rsa) - 키 사용 시 필요한 비밀번호(passphrase)를 입력합니다. (비워두면 무암호)
- 위 과정을 마치면 개인키(id_rsa)와 공개키(id_rsa.pub)가 생성
권한 설정
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub- 개인키는 반드시 600권한이어야 한다.
EC2 연결
ec2의 ~/.ssh/authorized_keys 파일에 추가 하거나 공개키 파일을 ssh 폴더 내부에 저장을 한다.
이후 ssh ${host}@${url}fh wjqrmsgkf tn dlTek.
ssh config로 키 관리 자동화
# ~/.ssh/config
Host myserver
HostName 1.2.3.4
User ubuntu
Port 2222
PreferredAuthentications publickey
IdentityFile ~/.ssh/my_private_key
ServerAliveInterval 60- 위와 같이 config로 등록해놓으면
ssh myserver로 바로 접속이 가능하다. PreferredAuthentications publickey를 사용하면 ssh키를 우선적으로 확인해서 접속한다.
ssh를 활용한 접근
포트포워딩
원격 서버의 특정 포트를 로컬 포트와 연결할 수 있다.
ssh -L [로컬포트]:[원격주소]:[원격포트] myserver- 예시
ssh -L 8080:localhost:80 myserver
SCP로 파일 전송
- 원격 서버로 파일 전송
scp -P 2222 -i ~/.ssh/my_private_key localfile.txt user@server:/remote/path/- 원격 서버에서 파일 받아오기
scp -P 2222 -i ~/.ssh/my_private_key user@server:/remote/path/file.txt ./localdir/-P포트 지정-i개인키 지정-r폴더 전체 전송