Windows 7 이하에서는 원격지에 리눅스 터미널에 접속 하기 위하여 putty 를 주로 사용하였습니다. 저는 아래주소에서 소개를 했듯이 한글 putty 를 주로 사용하고 있었습니다.

http://iamaman.tistory.com/760

http://iamaman.tistory.com/2247

그런데 최근에 Windows 10 을 사용하면서 아래 주소에서 소개를 했던 WSL(Windows Subsystem for Linux) 통해 Windows 내에 리눅스를 설치 한다든지 하는 다양한 기능들이 추가 되었습니다.

http://iamaman.tistory.com/2317

Windows 10 에는 openssh Client, Server 가 추가 돼서 더 이상 putty 를 사용하지 않아도 됩니다. ssh가 설치가 되는지 확인하기 위해서 Powershell 에서 ssh 라고 타이핑 하고 엔터를 칩니다. 반응이 없다고 한다면 다음과 같이 설치 할 수가 있습니다.

1. 검색창에 앱 이라고 치면 아래와 같이 앱 및 기능 이 나오고 클릭해서 들어갑니다.

2. 앱 및 기능 관리에서 선택적 기능 관리에 들어갑니다.

3. OpenSSH 클라이언트를 설치합니다. 현재 저는 설치가 돼서 제거 버튼이 있지만 터치가 안 되신 분들은 설치 버튼이 있을 것입니다.

4. OpenSSH 서버를 설치 하고 싶으신 분들은 기능 추가에 들어가서 아래와 같이 OpenSSH 서버 를 클릭하고 마찮가지로 설치 버튼을 눌러서 설치하시면 됩니다.

5. Windows 재부팅으로 하고 Powershell 을 실행한 후에 아래와 같이 ssh 서버에 접속하고 password 를 입력하면 원격서버에 접속이 됩니다.

ssh ID@server_IP -p port_Number

ex) ssh abc@localhost -p 1234

저는 Synology NAS 를 사용하고 있어서 파일 관리를 위해 ssh 를 자주 사용하는 편인데 Windows 10 에서는 추가 프로그래밍 필요 없으니 개발자 입장에서 확실히 더 편리해진 거 같네요.

OpenSSH 를 설치하면 scp, sftp 도 설치가 되므로 서버로부터 파일을 가져 오는 것도 가능하더군요.

이제 Windows10 에서 한글 코타나만 제대로 되면 훨씬 더 좋아질 것 같습니다.



Autohotkey 를 사용하여 특정 프로그램에 명령어를 날릴 때 send 명령어를 주로 사용 하곤 합니다. 그런데 send 명령어는 activation 된 창에만 명령어를 날립니다. 이렇게 되는 경우 send 명령어를 사용하는 중에는 사용자가 다른 작업을 할 수가 없습니다. 이러한 경우에 비활성창에 명령어를 실행 시키는 ControlSend 를 사용하면 다른 작업을 하면서 Autohotkey 를 사용하여 특정 프로그램을 자동 할 수 있습니다.

ControlSend 명령어에 대한 설명은 아래 주소의 메뉴얼을 확인하시기 바랍니다.

https://autohotkey.com/docs/commands/ControlSend.htm

저는 Synology NAS 를 사용하고 있고, Windows 운영체제에서 Synology NAS 에 접속하는 경우 putty 를 사용하는데 아래와 같은 Autohotkey 스크립트를 주로 사용하고 있습니다.

SetTitleMatchMode, 2

SetKeyDelay,-1,-1

ControlSend,,./mod_files.sh,PuTTY,

위 Autohotkey 코드는 PuTTY 에 ./mod_files.sh 를 타이핑 하도록 하는 명령어 입니다. 언뜻 봐서는 문제가 없어 보였는데 계속해서 실행시키다 보니 아래와 같은 문제가 있었습니다. 아래 그림에서 밑줄 친 부분을 보면 명령어가 다른 것을 확인할 수 있습니다. 결국엔 위 코드에서 ControlSend 명령어가 정확하게 동작하지 않는것을 알 수가 있습니다.

위 문제를 확인한 후에~ 내가 ControlSend 명령어를 잘못 썼나? 라는 생각을 했었는데 사실 문제는 SetKeyDelay 에 있었습니다. SetKeyDelay 명령어에서 -1 은 no delay 를 의미하고 첫 번째, 두 번째 아규먼트는 Delay, PressDuration 을 의미 합니다. 이 부분을 no delay 로 설정 하다 보니 문제가 발생한 것이었습니다. 그래서 해당 부분을 지우고 코드를 실행해 봤습니다.

SetTitleMatchMode, 2

ControlSend,,./mod_files.sh,PuTTY,

여러번 실행을 해 봤는데 한 번도 빠짐없이 명령어가 전달 되더군요.

ControlSend 를 사용하는 중에 혹시나 문제가 발생한다면 SetKeyDelay 를 의심 해 보시기 바랍니다.



아래 포스팅에서도 소개를 했지만 Synology NAS 사용시 putty를 통해 접속을 하곤 합니다.

http://iamaman.tistory.com/2048

오늘은 putty 를 통한 서버 접속시 조금 더 편리하게 사용하기 위해서 Putty 의 Command Line 옵션 몇가지에 대해 소개하려 합니다.

putty 를 통한 서버 접속시 서버에 대한 IP 나 포트 등을 session 으로 저장해 놓고 사용 하곤 합니다.

그리고 서버에 접속을 하게 되면 서버 login ID 를 넣어야 하고 password 를 넣어야 합니다.

개인 컴퓨터에서 보안만 제대로 되어 있다면 이러한 정보들은 배치 파일과 같은 형태로 저장해 놓고 사용하는게 편리할 것 입니다.

putty 의 Command Line 옵션 중 제가 소개할 옵션은 다음과 같습니다.

1. -load : 해당 옵션 뒤에 접속할 서버의 session 명을 넣으면 됨

2. -l : 해당 옵션 뒤에 서버 접속 ID 를 넣으면 됨

3. -pw : 해당 옵션 뒤에 위 ID 에 대한 password를 넣으면 됨

그래서 다음과 같이 명령어를 치면 한번에 MyServer 라는 서버에 접속 할 수 있습니다. MyServer, MyID, MyPassword 는 각자 자신이 접속하고자 하는 서버에 맞는 정보를 넣으시면 됩니다.

putty.exe -load MyServer -l MyID -pw MyPassword

위 명령어는 batch 파일 등으로 만들어 놓고 아래 포스팅에서 소개했던 Launchy 와 같은 프로그램을 통해 사용하면 대단히 편리하게 putty 를 사용할 수 있을 겁니다.

http://iamaman.tistory.com/911

또는 Autohotkey 등을 사용하면 putty 실행후에 서버에서 실행하고 싶은 명령어도 자동으로 타이핑 하도록 할 수 있을 겁니다.

http://iamaman.tistory.com/273



Synology NAS 에서 특정 스크립트를 background 에서 계속 돌리고 싶을때가 있다. 


이런 경우 일단 Synology NAS 에 putty 로 접속해서 스크립트를 실행하는데 parent 프로세스인 putty 를 끄면 해당 프로세스가 같이 죽어버린다. 


putty 를 종료해도 해당 프로세스가 백그라운드에서 계속 실행되게 하기 위해서는 아래와 nohup 과 & 를 붙이면 해결된다.


nohup ./실행할스크립트명 &

EX) nohup ./fileMoveNewerThenNow.sh &


위와 같이 실행하고 putty 종료 후에 다시 putty 를 접속해보자.


그리고 다음과 같이 내가 실행한 스크립트가 정상적으로 실행중인지 확인한다.

ps -ef | grep 프로세스명

EX) ps -ef | grep file*

다음 명령어로 해당 프로세스를 내가 원하는 시간에 종료 하고 프로세스가 정상적으로 종료 되었는지 확인해 보자.

kill -9 PID

EX) kill -9 31271

실제 putty 재 접속 후의 실행 화면은 다음과 같다. 



리눅스 사용시 SSH(secure Shell) 을 사용한 접근을 주로 합니다.

 

우분투의 경우 ssh 는 다음과 같은 명령어를 통해 설치 할 수 있습니다.

 

sudo apt-get install openssh-server

 

SSH 의 기본 포트는 22번으로 설정 되어 있는데~ 아래 ssh 설정 파일에서 포트를 변경 할 수 있습니다.

 

/etc/ssh/sshd_config

 

ssh 재 시작은 아래 명령어로 할 수 있습니다.


sudo /etc/init.d/ssh restart

 

다음으로 윈도우에서 ssh 로 접근하는 경우 putty 을 많이 사용하는데~

 

한글 putty 는 아래 주소에서 다운로드 할 수 있습니다.

 

http://kldp.net/projects/iputty/download

 

위 주소에서 확인을 해 보니 0.6 버전과 0.58 버전이 있네요.

 

설치 후 실행해보면 다음과 같이 한글 putty 가 실행됩니다.

 

필요에 따라 다음과 같이 창→변환 에서 문자셋을 UTF-8 로 바꿔줘야 합니다.

 

필요하신 분을 위해 0.60h 버전 파일 첨부합니다.


HangulPuTTY-0.60h.setup.exe


 


+ Recent posts