Ubuntu (Debian 계열) 기준으로 작성되었다
설치
1
sudo apt install openssh-server
파일 수정
1
sudo vim /etc/ssh/sshd_config
Port 수정
/etc/ssh/sshd_config
파일을 열어 Port 부분을 원하는 포트로 변경한다.
보안을 위해 기본 포트 22 대신 다른 포트를 사용하는 것을 권장한다.
패스워드 접속 차단
PasswordAuthentication
옵션을 no로 지정하면 패스워드로 접속할 수 없고, 공개키 인증을 통해서만 접속할 수 있다.
ssh 서버 열기/닫기
1
2
3
4
5
# ssh서버 열기
sudo service ssh start
# ssh서버 닫기
sudo service ssh stop
클라이언트에서 ssh 서버 접속
1
2
# ssh [사용자명]@[접속IP] -p [포트]
ssh user@127.0.0.1 -p 22
윈도우의 경우 보통 putty
를 사용한다.
SSH 공개키 이용해 접속
RSAS 키를 생성하고 서버에 공개키를 두고 클라이언트에서 개인키를 이용해 SSH에 접속할 수 있다.
ssh-keygen
을 실행하고 입력을 다 넘어가면 ~/.ssh/
위치에 키가 생성된다.
해당 위치에 id_rsa.pub
id_rsa
두 파일이 생성되는데, id_rsa.pub
는 서버가 가지고 있고 id_rsa
는 클라이언트가 가지고 있어야 한다.
scp
등 별도의 방법을 통해 클라이언트와 서버에 두 파일을 각각 복사해놓는다.
SSH 서버 설정
1
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
id_rsa.pub
이름을 authorized_keys
로 변경한다.
1
chmod 600 ~/.ssh/authorized_keys
SSH 클라이언트 접속
1
2
# ssh [사용자명]@[접속IP] -p [포트] -i [개인키 위치]
ssh user@127.0.0.1 -p 22 -i ~/id_rsa
-i
옵션을 이용해 개인키 위치를 지정해 접속한다.
UNPROTECTED PRIVATE KEY FILE 에러
이 상태에서 접속을 시도시 WARNING: UNPROTECTED PRIVATE KEY FILE!
라는 경고를 일으키며 접속이 되지 않을 것이다.
id_rsa
파일의 권한이 너무 열려 있어서 나타나는 오류로 개인키는 보안상 민감한 파일이기 때문에 사용자 외에 접근하지 못하도록 권한을 제한할 필요가 있다.
Linux 환경에서 권한 수정
1
chmod 600 id_rsa
chmod
를 이용해 권한을 변경하면 된다.
Windows 환경에서 권한 수정
id_rsa
파일의 속성의 보안 탭에서 고급을 클릭한다.
상속 사용 안함
을 클릭하고 이 개체에서 상속된 사용 권한을 모두 제거합니다
를 클릭한다.
이후 추가
버튼을 클릭해 권한 항목 창으로 들어간다.
보안 주체 선택
을 클릭하고 자신의 사용자명을 적는다.
사용자명이 생각나지 햇갈리지 않으면 cmd키고 net user
로 확인하자.
읽기 및 실행
/읽기
권한 만 두고 다 체크 해제하고 저장한다.