우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

리눅스 ssh접속 명령어

# host 주소

ssh <host주소> <옵션>

# 사용자 ID를 추가하는 방법

ssh <id>@<host주소>

! 자주 사용되는 옵션

  • p // 포트 설정하기
ssh [email protected] -p 22
  • i // 키 파일 사용하기
ssh -i keyfile [email protected]

-- ssh -i gahyePark.pem [email protected]
  • V // 버전 정보 출력하기
  • C // 전송 데이터 압축하기
  • 4 // IPv4 주소 사용
  • 6 // IPv6 주소 사용
  • 1 // 프로토콜 버전 1 사용
  • 2 // 프로토콜 버전 2 사용

Author And Source

이 문제에 관하여([Linux] ssh접속 명령어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다

https://velog.io/@gahae37/Linux명령어-모음

저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)

Ubuntu 서버 SSH 설정 알아보기

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

이번 포스팅에서는 Ubuntu SSH에 대해서 알아보도록 하겠습니다.

관련 글

[서버구축이야기] [Linux Server/Ubuntu] - Ubuntu 18.04 서버 설치하기

[서버구축이야기] [Linux Server/Ubuntu] - Ubuntu 18.04 서버 네트워크 설정 알아보기

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

SSH란? 시큐어 쉘(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용프로그램 또는 그 프로토콜을 가리킵니다. 기존 rsh, rlogin, 텔넷등을 데체 하기 위해 설계되었으며, 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공합니다. 암호화 기법을 사용하기 때문에, 통신이 노출되더라도 암호화된 문자로 보이기 때문에 보안상으로 안전한 프로토콜 입니다.

1. Ubuntu SSH 설치하기

root@ubuntu:~# apt-get -y install openssh-server

위 명령어를 통해 SSH를 설치하시면 됩니다.

2. Ubuntu SSH 시작

root@ubuntu:~# systemctl start sshd

1. SSH 포트설정

root@ubuntu:~# vi /etc/ssh/sshd_config
Port 9966

22포트는 SSH 기본포트이니 포트를 변경하시는것이 좋습니다

SSH 포트를 변경하는 이유는 아무리 보안포트라고해도 기본적으로 22번으로 되어 있다면 이미 외부에 노출되어 있는 것입니다. 접근 IO와 모든 방화벽에 허용처리되어 있고 비밀번호만 되면 서버에 마음대로 접속할 수 있게 됩니다. 그래서 자신이 서버관리자라면 본인만 아는 포트나 바로 root로 접속되는 걸 원천적으로 막는것이 좋습니다

2. SSH root 계정 접근제한 설정

root@ubuntu:~# vi /etc/ssh/sshd_config

PermitRootLogin no

root 계정은 모든 권한 가지고 있으므로 위와 같은 설정으로 접근권한을 막는것이 좋습니다.

3. SSH 접속을 허용할 그룹 및 유저 설정

vi /etc/ssh/sshd_config

AllowGroups [접속을 허용할 그룹]
AllowUsers  [접속을 허용할 유저]

위와 같인 특정 그룹 및 유저에게만 접근할 수 있도록 설정하는것이 좋습니다

4. SSH 재시작

root@ubuntu:~# systemctl restart sshd

위 명령어를 통해 SSH 설정을 적용하시면 됩니다.

우분투 서버 설치에 성공했다면 이제 서버에 원격으로 접속하기 위한 세팅을 시작해볼 수 있다. 아직까지는 원격 접속 세팅이 안되어있기 때문에 서버에 모니터와 키보드 등 입력 출력 장치를 연결해 두어야 한다.

SSH 서버 설치 및 포트 설정

$ sudo apt-get install openssh-server

명령어를 통해 ssh 서버를 설치해주도록 한다. 우분투를 설치하면서 같이 설치했을 수 있다. SSH의 기본 포트번호는 22번이고, 이 번호는 매우 널리 알려져있기 때문에 바꿔주지 않으면 수시로 접속시도를 받게 된다. 보안을 위해 바꿔줄 필요가 있다. 이를 위하여 다음의 파일을 수정해주도록 한다.

$ sudo vi /etc/ssh/sshd_config

vi 대신 vim, nano 를 사용해주어도 무관하다.

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

포트에 적당히 기억할 수 있는 4~5자리 정도의 값을 입력해주면 된다.

# ssh 서비스 시작
$ sudo service ssh start

# ssh 서비스 종료
$ sudo service ssh stop

# ssh 서비스 상태
$ sudo service ssh status

SSH 서비스 시작 명령을 내려주면 이제 접속 준비가 완료되었다.

혹시 방화벽을 실행한적 없다면 방화벽을 실행시켜주고 방화벽 예외포트에 SSH 서버 포트를 추가해준다.

$ sudo ufw enable
$ sudo ufw allow 포트번호

현재 내 서버는 공유기에 연결되어 인터넷에 설치되어있기 때문에 먼저 내부망에서 접속할 수 있는 방법을 알아보겠다. 내부망이라 함은, 쉽게 말하면 서버와 같은 공유기 아래에 있는 장치라는 뜻이다.

$ hostname -I

위 명령을 통해 내부망에서 할당된 IP를 확인할 수 있다.

(외부망에서 접속하기 위해서는 추가적인 작업이 필요하다. 이는 아래에서 설명하려고 한다.)

SSH 서버로 접속하기(Windows)

윈도우에서 SSH 서버로 접속하기 위한 클라이언트 프로그램은 대표적으로 Putty가 가장 많이 쓰인다.

https://www.putty.org/ 에서 다운로드 받을 수 있다. 프로그램을 다운받고 설치하면 다음의 화면을 만날 수 있다.

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

host name에는 우분투 서버의 IP와 포트 번호를 입력하면 우분투 서버에 접속할 수 있다. 접속된 화면에서 우분투를 설치할 때 입력했던 사용자 이름과 비밀번호를 입력하여 서버에 로그인 할 수 있다.

SSH 서버로 접속하기(UBUNTU)

우분투 PC에서 우분투 서버로 접속하기 위해서 기본 터미널을 이용할 수 있다. SSH 클라이언트는 우분투에 기본으로 설치되어 있다.

$ ssh -p 포트번호 유저이름@IP주소

위 명령어를 입력하고 암호를 입력하면 서버에 접속 및 로그인이 가능하다.

외부에서 SSH 서버로 접속하기

외부에서 우분투 서버에 접속하기 위해서는 내부망 IP와는 다른 공인IP값이 필요하다.

$ curl ifconfig.me

위 명령을 통하여 외부에서 현재의 서버를 찾을 수 있는 공인IP주소를 찾을 수 있다. 하지만 가정용 인터넷을 이용하는 경우 대부분 유동IP를 사용하게 되는데, 따라서 이 값은 때때로 바뀌기도 한다. 언제 바뀔지 알 수 없는 값을 가지고 외부에서 접속하지는 못하므로 고정IP를 사용하거나(추가 비용 필요), DDNS 기능을 이용하게 된다.

보통은 공유기의 DDNS를 이용하는 것이 가장 쉬운 방법이고, 그 설정방법은 다음과 같다.

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

공유기 관리페이지에서 DDNS 메뉴를 찾아 원하는 주소(ipTIME 공유기의 경우 *.iptime.org의 형태로 정해지게 된다.)와 이름, 이메일 등을 입력하고 등록해주면 위와 같이 등록되고, 외부에서 해당 주소를 통해 이 공유기로 접속할 수 있다.

하지만 공유기에 접속한다고 해서 해당 접속이 어떤 PC를 향하는지, 어떤 서비스를 바라고 공유기에 접속되었는지 알 수 없다. 그렇기 때문에 포트포워딩을 해주어야 한다. 포트포워딩이란 외부에서 공유기로 접속 요청이 들어왔을 때, 내부에 있는 어떤 PC에, 어떤 서비스에 연결해줄 것인지를 정해주는 과정이다. 예를 들어 아까 설정했던 DDNS 주소인 *.iptime.org:2222로 접속했을 때, 공유기 아래 연결되어있는 다른 PC가 아닌 내가 정한 우분투 서버에 SSH 서버로 접속할 수 있도록 특정해주는 것이다.

이를 위해 아까 접속했던 공유기 관리 페이지에서 포트포워드 항목을 찾아 다음과 같이 설정해준다.

우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo
우분투 ssh 접속 명령어 - ubuntu ssh jeobsog myeonglyeong-eo

확인할 것은 Internal IP에 우분투 서버에 해당하는 IP, Internal port에 SSH 서버에 접속하기 위한 포트, External port에 임의의 포트 번호를 입력하고 저장해주는 것이다. 이 External port는 내부포트와 같을 수도, 다를 수도 있으나, 같게 하는 것이 기억하기 좋다. 만약 외부 포트를 다르게 해주었을 경우, DDNS 주소를 입력할 때에는 SSH 서버에 해당하는 외부망 포트를 입력해주어야 공유기가 정상적으로 SSH 서버에 연결해줄 것이다.

이로써 내부 사설망이 아닌 외부에서도 설정한 DDNS 주소와 포트번호를 입력하여 우분투 서버에 접속할 수 있게 되었다.

이후

원격으로 서버에 접속할 수 있게 되었으니, 원격으로 서버를 켜기 위해 Wake On Lan(WOL) 세팅을 진행해 볼 예정이다.

내용 관련하여 부족한 점 조언 및 질문 언제든 환영합니다!