본문 바로가기
A. Development/Free Topic

SSH로 서버 설정 및 Putty 접속

by IMCOMKING 2020. 6. 21.

Server 세팅

sudo apt-get update

sudo apt install openssh-server

 

sudo systemctl enable ssh : 시스템 시작시 ssh 서버 자동 실행하기

sudo systemctl status ssh : ssh 서버 상태확인

sudo systemctl start ssh : ssh 서버 열기

sudo systemctl stop ssh : ssh 서버 닫기

 

sudo vim /etc/ssh/sshd_config : ssh 서버 설정

sudo service ssh --full-restart : 옛날 방식 서버 열기

 

 

Client에서 Putty 세팅

Putty/Puttygen 다운로드

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Putty 폰트 설정

Window-Appearance-Change-돋움체, 13포인트

 

Putty에서 ctrl+shift+c/v 로 복사붙여넣기 설정

Window-Selection-Ctrl + Shift + : System clipboard

 
 
 

Putty 접속 시 Ubuntu에서 ctrl + arrow키로 건너뛰기 옵션 사용하기

다음 파일을 만들고, 아래 내용을 저장한다.

vim ~/.inputrc

"\eOD": backward-word

"\eOC": forward-word

 

 

Putty 접속 시 Home/End/PageUp/PageDown 키 정상 작동 시키기

Connection > Data > Terminal-type string에 써 있는 문자열을 "xterm"에서 "linux"로 변경

https://qastack.kr/superuser/94436/how-to-configure-putty-so-that-homeendpguppgdn-work-properly-in-bash

 

 

 

Putty with SSH keys

 

SSH public key를 remote 머신에 자동으로 등록하기

1. ssh key pair를 생성한다.

ssh-keygen -t rsa -C "my@email.com"

그러면 private key와 public key가 각각 생성된다.

- public key: 내가 ssh로 접속할 원격 컴퓨터에 등록을 한다. 아래와 같은 형태이다
ssh-rsa AAAAB3NzaC1yc .....

 

- private key: 내가 접속을 시도할 로컬 컴퓨터에 보관을 한다. 아래와 같은 형태이다. (일종의 비밀번호 파일에 해당한다고 볼 수 있음)
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAK

 

2. 생성한 ssh의 public key를 remote 머신에 등록한다.

ssh-keygen 으로 생성된 pub_key를 복사해서 remote 서버의 .ssh/authorized_keys 파일을 열어서 맨 아래에 붙여넣기 한다.
이렇게 pub_key를 등록하면, 그에 대응되는 priviate key로 전부 접속이 가능하다. private key를 복사해서 다른사람이 공용으로 접속하는것도 당연히 가능하다.
 
이 과정을 수동으로 remote 머신의 ~/.ssh/authorized_keys에 복사해서  붙여넣기 해도되지만, ssh-copy-id를 이용하면 매우 쉽게 가능하다.

 

자동 등록

ssh-copy-id user_id@remote.ip.address
 
이것을 실행하면 자동으로 .ssh/authorized_keys밑에 id_rsa.pub을 붙여넣어준다.
 

수동 등록

cat ~/.ssh/id_rsa.pub | ssh demo@198.51.100.0 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"
 
 
 

SSH private key를 이용해서 접속하기

OpenSSH SSH-2 private key (old PEM format) 문제해결

Connection - SSH 에서 Remote Command 부분에 수동으로 ssh 접속 커맨드를 작성한다.
ssh -i id_rsa.ppk azureuser@ip.add.ress
 
또는 puttygen 프로그램을 설치해서 기존에 생성해둔 키를 putty 버전의 .ppk파일로 변환하여 사용한다.
Connection - SSH - Auth 에 .ppk파일을 등록한다.
 
 
 
 
- 내가 만든 ssh private를 직접 지정하기
ssh -i deployment_key.txt demo@192.237.248.66
 
만약, 위와 같이 지정을 안하면, /home/user/.ssh/id_rsa가 자동으로 선택될 것이다
 

ssh 터널링

ssh -L 50001:localhost:50001 -i ~/ssh_pubkey/nsml_jp -p 30022 root@10.122.77.197
ssh에 존재하는 막강한 기능. ssh를 접속하면서 remote에 있는 임의의 포트를 맵핑시켜서 내맘대로 사용할 수 있다. ssh로 접속하면서 -L로 이렇게 위와같이 입력하면, 50001포트를 특정 URL과 포트로 맵핑시킬 수 있음. 그래서 docker container 만들 때 포트를 안열어뒀더라도 마음대로 임의의 포트를 사용할 수 있음. 단 이걸하려면 매번 ssh가 접속되어 있어야함. 그게 싫으면 도커 컨테이너를 새로 만들어야함.
 
 

 

 

 

댓글0