제로원:SSH
통진고위키
SSH에 관련하여 질문이 있거나 오류가 발생하면 토론 문서에 써놓으십시오. 친절한 편집자가 그에 관한 답을 달아 줄 것입니다. 유용한 답은 본 문서에 기재될 수 있습니다. |
ZERO-ONE 포털 |
---|
SSH란 Secure SHell의 약자로, 서버 컴퓨터를 원격으로 접속하여 명령을 실행할 수 있게 하는 프로그램이다. SSH를 시작하기 전에 반드시 이 문서를 완독하도록 하자.
SSH 자체에 대해서는 위키백과 참고
시작하기
Windows
Windows에서는 XShell 사용을 추천한다. 한글로 되어있어 사용하기 편하다. SFTP도 함께 사용하려면 해당 사이트에서 XFtp도 같이 설치하면 좋다.
- 설치가 완료되고 실행하면 "세션" 창이 열린다. 안 열리는 경우는 "파일" > "열기" 하면 된다.
- 세션 창에서 "새로 만들기"를 누른다.
- "연결"에서 다음을 채워넣는다.
- 이름: 자신이 쓰고 싶은 이름. 예) 통진고위키
- 프로토콜: 그대로 둔다. (SSH)
- 호스트: 접속할 서버 주소. 예) tjhswiki.com
- 포트 번호: 그대로 둔다 (22)
- "연결" > "사용자 인증"에서 로그인 정보를 채워넣는다. 로그인 정보는 제로원 회장이 알려줄 것이다.
- "확인"을 누르면 세션이 만들어진다. 이제 방금 만든 세션을 선택하고 "연결"을 누르면 연결될 것이다.
macOS/리눅스
macOS에서는 주로 터미널에서 직접 SSH에 접속한다. 꼬우면 윈도우로 재부팅하자.
아직 재부팅 안 한 사람은 터미널을 틀면 된다. 앞으로 명령어를 몇 개 입력할 건데 중간에 그만두고 싶으면 CTRL + C를 누르면 종료된다. 맨 앞의 $는 입력하지 않는다.
- ssh 명령어로 접속한다. [아이디]에 회장이 알려준 아이디를 입력한다.
$ ssh [아이디]@tjhswiki.com
- 그러면 다음과 같은 문구가 뜰 수도 있고 안 뜰 수도 있다.
The authenticity of host 'tjhswiki.com (203.245.28.148)' can't be established. ECDSA key fingerprint is SHA256:[RSA 키] Are you sure you want to continue connecting (yes/no)?
- 만약에 뜰 경우에는 yes를 입력해주면 된다. 이제 다음과 같이 비밀번호를 입력하라고 뜰 것이다.
아이디@tjhswiki.com's password:[비밀번호]
- 그러면 회장이 알려준 비밀번호를 입력하면 된다. 그러면 뭐라고 뭐라고 뜨면서 결국은 이렇게 뜰 것이다.
아이디@zeroone0101:~$
- 몇 가지 리눅스 명령어(예: echo hello)를 입력해 보아도 좋다. 참고로 echo hello를 입력하면 hello라고 뜰 것이다.
- exit 명령으로 ssh를 종료하고 원래의 터미널로 돌아올 수 있다.
아이디@zeroone0101:~$ exit logout Connection to tjhswiki.com closed.
macOS/리눅스 (고급)
Windows에서는 한번 세팅하면 클릭 몇 번으로 접속할 수 있는데, macOS에서는 접속할 때마다 비밀번호 입력하기가 귀찮을 수도 있다. 그럴 때는 key를 만들어서 사용하도록 하자.
- 전에 만들어놓은 SSH 키가 있는지 확인한다. No such file or directory가 뜨면 SSH 키를 새로 만들어야 한다. 만약에 ssh-rsa로 시작하는 내용이 나오면 만들기를 건너뛰고 3단계로 간다. 맨 앞의 $는 입력하지 않는다.
$ cat ~/.ssh/id_rsa.pub
- ssh-keygen 명령어를 실행하면 다음과 같이 순서대로 뜰텐데 다 디폴트를 쓰면 되므로 엔터를 누른다.
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/joongwon/.ssh/id_rsa):[엔터] Enter passphrase (empty for no passphrase):[엔터] Enter same passphrase again:[엔터] Your identification has been saved in /Users/joongwon/.ssh/id_rsa. Your public key has been saved in /Users/joongwon/.ssh/id_rsa.pub.
- scp 명령어로 ~/.ssh/에 저장된 키를 서버에 업로드한다. 아직은 비밀번호를 입력해야 한다.
$ scp ~/.ssh/id_rsa.pub [아이디]@tjhswiki.com:id_rsa.pub 아이디@tjhswiki.com's password:[비밀번호] id_rsa.pub 100% 418 68.4KB/s 00:00
- 위 문단에서처럼 ssh로 서버에 접속한 뒤, 서버에서 다음과 같이 키를 추가하고 업로드한 키는 삭제한다.
$ cat ~/id_rsa.pub >> .ssh/authorized_keys $ rm ~/id_rsa.pub
- exit 명령어로 로그아웃했다가 ssh 명령을 다시 실행해보자. 비밀번호 없이 접속했다면 성공이다.
자신이 보안을 좀 챙긴다면 여기 나온대로 해도 좋다.
리눅스 기본 명령어
ls
: 현재 디렉토리에 있는 파일과 폴더의 목록.ll
: 현재 디렉토리에 있는 파일과 폴더의 자세한 정보를 포함한 목록.la
: 현재 디렉토리에 있는 숨김파일 및 폴더("."으로 시작하는 이름)를 포함한 모든 파일 및 폴더의 목록.cd [디렉토리]
: [디렉토리]로 이동.cd ..
: 상위 디렉토리로 이동.cat [파일]
: [파일]의 내용 출력.echo [문자열]
: [문자열] 출력.cp [src] [dest]
: [src] 파일을 [dest] 파일로 복사. [dest]가 이미 있는 디렉토리이면 그 디렉토리 안에 복사한다.mv [src] [dest]
: [src] 파일을 [dest] 파일로 이동. [dest]가 이미 있는 디렉토리이면 그 디렉토리 안에 복사한다.rm [파일]
: [파일] 제거.rm -r [디렉토리]
: [디렉토리] 및 그 안의 파일 모두 제거.exit
: 로그아웃.