studybook
  • Introduction
  • 실무 하며 깨닫는 부분 정리
    • 옵션에 대해서
    • 코드 작성의 순서
    • 자바 프로그램에 문제가 생겼다면
    • 장애 대처법
  • Logstash, Beats 정리
  • Zookeeper 정리
  • Message Queue 정리
    • RabbitMQ 삽질
  • Java 관련 정리
    • Java Primitive Wrapper class
    • Java NIO
    • Java8 Double colon operator
    • Effective Java
      • 4장
      • 5장
      • 6장 - Enum, Annotation
      • 7장 - Method
      • 8장 - 프로그래밍 일반
      • 9장 - Exception
    • Java8 Lambda expression
    • JDBC
    • Linux에서 WatchService 이상동작
  • Spring 관련 정리
    • Spring Bean init, destroy 순서
    • Spring Async Controller
    • Spring Executable jar 웹 개발 및 배포
    • Spring Boot Font 배포 에러
    • Spring AOP
      • Spring AOP로 모든 Request 로그 남기기
    • Spring Cache
    • Spring Cloud
      • Consul로 spring 설정 관리하기
    • Spring Test
      • Spring Test DirtiesContext
      • Spring Test MockBean, SpyBean
      • Spring Test Dynamic @Scheduled
    • Spring JDBC
    • Spring Validation
    • Spring Transaction Management
      • Spring with JTA 삽질
    • Spring에서 효율적으로 Static resource 관리하기
    • Zuul을 사용해서 Spring Reverse proxy 만들기
    • Spring Security
    • 스프링 어노테이션이 안 먹힐 때 의심해볼만한 것
    • Spring Data
    • Spring Webflux
      • Tobi 강연
  • 코드 리팩토링
    • 한번에 하나씩
  • 지속적 통합 (CI)
    • Jenkins pipeline 삽질기
  • Log Aggregator 정리
    • Flume 테스트
    • Fluentd 테스트
  • Web Socket 정리
  • Akka
    • Actor 모델
    • Supervision
  • IE 8 대응 정리
  • 함수형 프로그래밍
    • 모나드
  • Netty
    • Netty 기본 예제
    • Netty 주요 특징
    • Netty 부트스트랩
    • Netty 채널 파이프라인, 코덱
    • Netty 이벤트 모델
    • Netty 바이트 버퍼
  • 스칼라 관련 정리
    • Maven으로 컴파일하기
    • Scala def 괄호 여부의 차이
    • 스칼라 function, method 차이점
    • ScalaTest와 Spring 연동하기
    • Programming in Scala
  • J2S 컨퍼런스
  • Android
    • 테스트
    • NDK
  • DDOS
  • HTTP
  • HttpClient
  • Container
    • Image 개요
    • cri-o
    • kata containers
    • Open Container Initiative Image
    • Buildkit
  • Github pages
  • Static Website
  • Webhook
  • Service Discovery Tools
    • Etcd
    • Eureka
    • Consul
      • ACL
    • 비교
  • React
    • JSX
    • React Element
    • Components, Props
    • State, Lifecycle
    • Handling Event
    • Flux
  • Vagrant
    • SSH 접속
  • Linux
    • Systemd
    • Alternatives
  • Messaging protocols
    • XMPP
    • AMQP
  • Windows
    • Windows10 내장 우분투에 ssh 클라이언트로 접속하기
    • Windows10 Hyper-V와 Virtual Box가 충돌을 일으켰을 때
    • Hyper-V 기반 docker에서 Shared Drives 설정 실패할 때
    • 윈도우 개발환경 설정
    • Docker desktop 없이 docker 환경 세팅하기
    • UWP 앱을 항상 관리자권한으로 실행하는 바로가기 만들기
  • Spring camp 2017
    • Project Reactive
    • 이벤트 소싱
    • CQRS
  • Spring webflux
  • 리액티브 프로그래밍
  • Linux Settings
    • 홈서버 백업 및 복구기
    • 홈서버 트러블슈팅
  • Kubernetes
    • k3s 설치 및 삽질
    • pod resources
    • Argo workflow
    • 트러블 슈팅
      • Kubernetes namespace의 phase가 Terminating에서 멈춰있을 때
    • 쿠버네티스 마스터
    • Knative
    • Knative Pipeline
    • Aggrerated API server
    • Accessing the API
      • Authenticating
  • Sonarqube
  • HTTP/2
  • Go
    • Go Module
    • Go dependency injection
    • Go Error handling
    • Go in Action
      • 3장 패키지
      • 4장 배열, 슬라이스, 맵
      • 5장 GO의 타입 시스템
      • 6장 동시성
      • 7장 동시성 패턴
      • 8장 표준 라이브러리
      • 9장 테스트와 벤치마킹
    • Go Channel 사용법
  • Cloud Native
Powered by GitBook
On this page
  • 준비 작업
  • Run Utility
  • Windows bash 활성화
  • SSH Server 설정하기
  • 작업 스케쥴러 설정하기
  1. Windows

Windows10 내장 우분투에 ssh 클라이언트로 접속하기

PreviousWindowsNextWindows10 Hyper-V와 Virtual Box가 충돌을 일으켰을 때

Last updated 7 years ago

윈도우 10에서 추가된 기능 중 가장 마음에 드는 기능. 윈도우에 내장된 우분투다. 기존의 vm이나 hyper-v로 띄우게 되면 아무래도 성능부분에서 깎이는 것도 많고 이것저것 설치하고 세팅하기 엄청 귀찮지 아니하였던가.

그런데 이러한 우분투를 쓰면서 가장 불만인 부분이 하나있었다. 왜 꼭 CMD 위에서 돌아가야만 하냔 말이다! CMD 위에서 돌아가다보니 색도 우중충하고 뭔가 복사하거나 붙여넣기도 엄청 귀찮은데다가 출력도 괴상하게 나오는 일이 많다 ㅠㅠ 그래서 평소 애용하는 XShell으로 이 우분투에 접속할 수 없을지 찾아보게 되었다.

준비 작업

Run Utility

리눅스에선 데몬 띄우는게 & 하나만 붙이면 될 정도로 간편한데 반해서 윈도우즈는 좀 많이 귀찮다. 이런저런 작업들을 피하기 위해서 나는 Xming의 Run Utility를 사용하였다. 이 프로그램은 간단히 설명하면 콘솔 창을 숨긴 채로 프로그램을 실행할 수 있게 도와주는 유틸리티 프로그램이다.

Homepage

Manual

64-bit 다운로드

32-bit 다운로드

ubuntu를 닫는 순간 sshd도 종료되기 때문에 항상 하나의 ubuntu 인스턴스는 살려둬야한다. 그래서 Run Utility가 필요하다.

Windows bash 활성화

  1. 제어판 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> Linux용 Windows 하위 시스템 활성화 및 재시작

  2. 윈도우 스토어에서 우분투 설치

  3. cmd 실행 -> bash

SSH Server 설정하기

sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo vi /etc/ssh/sshd_config

sshd_config 파일에서 아래의 옵션들을 찾아서 수정한다. 없다면 추가한다.

UsePrivilegeSeparation no
PermitRootLogin no
PasswordAuthentication yes
AllowUsers [your user name]

여기까지 완료되었으면 sudo service ssh restart를 실행하여 localhost:22로 ssh 접속이 잘 되는지 확인한다. 만약에 안 된다면 위의 절차를 재시도해보고 방화벽도 확인해본다.

여기까지만 해도 사용은 가능하지만 재부팅할 때마다 불필요한 ubuntu 창을 하나 띄워서 service를 시작하고 그대로 놔둬야하는 불편함이 생긴다. 그러므로 한가지 설정을 더 해서 윈도우가 시작하면 자동으로 sshd도 실행되도록 바꾸자.

작업 스케쥴러 설정하기

  1. 제어판 -> 시스템 및 보안 -> 관리 도구 -> 작업 스케줄러 실행

  2. 새로 뜬 창 우측에서 작업 만들기 클릭

  3. 트리거 탭으로 이동

  4. 새로 만들기 버튼을 눌러서 트리거 생성. 이 때, 작업 시작 항목에 로그온 할 때, 워크스테이션 잠금 해제 시 각각 하나씩 추가

  5. 조건 탭으로 가서 컴퓨터가 배터리 전원으로 전환되는 경우 중지부분 해제

  6. 설정 탭으로 가서 다음 시간 이상 작업이 실행되면 중지 부분 해제, 작업이 이미 실행중이면 기존 인스턴스 중지로 수정

  7. 동작 탭으로 가서 새로 만들기 버튼 눌러서 새 동작 만들기로 이동. 프로그램/스크립트에 아까 다운로드받아둔 Run Utility의 run.exe를 선택하고, 인수 추가에 bash -c "sudo /usr/sbin/sshd -d" 입력

  8. 확인 눌러서 생성된 것을 확인하고 오른쪽 메뉴에 실행 버튼을 눌러 실행되는지 확인. 실행에 성공하면 외부 터미널에서 ssh 접속 시도하여 정상적으로 접속 가능한지 확인. 접속에 성공했으면 재부팅해도 정상적으로 접속 가능한지 확인

https://www.microsoft.com/store/productId/9NBLGGH4MSV6
http://www.straightrunning.com/XmingNotes/#head-148
http://www.straightrunning.com/projectrun.php
http://www.straightrunning.com/projectrun/run-x64.zip
http://www.straightrunning.com/projectrun/run.zip