원격 개발 환경을 위한 ssh를 설정하면서 삽질한 내용
윈도우 서버 만들기
ssh 서버 설치
1.
설정
2.
앱 및 기능
3.
선택적 기능
4.
OpenSSH 서버 추가
# 서버 시작
Start-Service sshd
# 서버 종료
Stop-Service sshd
Bash
복사
ssh 서버 확인
1.
작업 관리자
2.
서비스
3.
sshd 상태가 실행중인지 확인
netstat -an | findstr "22"
Bash
복사
ssh 서버 설정
1.
메모장을 관리자 권한으로 실행
2.
C:\ProgramData\ssh\sshd_config 을 연다.
# ssh key로 로그인하게 하고싶을 경우
PubkeyAuthentication yes
Bash
복사
ssh key 등록
1.
홈디렉토리\.ssh\authorized_keys 에 pub key 내용 붙여넣기
2.
설정 파일 마지막 2줄을 주석 처리 해줘야 계정별로 authorized_keys를 쓸수있다.
# Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Bash
복사
우분투 서버 만들기
ssh 서버 설치
# 서버 설치
sudo apt install openssh-server
# 서버 실행
sudo service ssh start
Bash
복사
ssh 서버 확인
#ssh 항목이 존재해야함
service --status-all | grep +
#sshd 가 22번 포트 점유하고 있는지 확인
sudo netstat -antp
#client 에서 port가 유효한지 확인
nmap 192.168.150.22 -p 14700-14744
Bash
복사
여기 까지만해도 접속 된다.
네트워크 우선순위가 제대로 설정되어있는지 확인할것!
방화벽 설정
•
만약에 접속이 안될경우 방화벽을 설정해본다.
•
service ssh restart 해야되나..?
sudo ufw allow ssh
sudo ufw reset
sudo ufw disable
sudo iptables -F // 초기화
sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Bash
복사
ssh 서버 설정
# ssh 서버 설정 파일
sudo vi /etc/ssh/sshd_config
# 서버 재시작
sudo service ssh restart
Bash
복사
# key로 로그인하게 하고싶을 경우
PubkeyAuthentication yes
# root로 로그인할 수 있게 하려면 (root 비밀번호 설정 필요!)
PermitRootLogin yes
Bash
복사
ssh key 등록
# client에서 pub key 전송
scp -P 22 -r /root/.ssh/id_rsa.pub [계정명]@[서버IP]:/home
# ~/.ssh/authorized_keys 에 pub key 내용 붙여넣기
cat id_rsa.pub >> authorized_keys
# 권한 설정
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
Bash
복사
권한을 꼭 설정해줘야한다.
접속하기
윈도우에서는 별도로 OpenSSH Client를 설치해야한다.
구버전 ssh 에서 마우스가 작동안하는 버그가 있다.
github에서 새로운 버전을 다운받아쓰자
접속 명령어
ssh [계정명]@[서버IP]
Bash
복사
접속할때마다 ~/.ssh/known_hosts에 ip에 해당하는 서버 정보가 저장된다.
옵션
•
-p : 포트
•
-i : identity_file (private key 파일)
◦
~/.ssh/id_rsa 가 default
•
-o : 옵션
◦
StrictHostKeyChecking=no # known_hosts 상관 없이 로그인
•
-v : 디버그 메세지 확인
ssh key 만들기
# rsa 방식으로 만들겠다는 뜻
ssh-keygen -t rsa
Bash
복사
삽질
참고
scp로 공개기 전송하는 법