kssh는 ssh tunnel과 ssh, scp 프로그램을 쉽게 쓰게 만든 스크립트로 초기 버전이다.
이 스크립트는 ssh tunnel을 1개 또는 2개서버까지 하게 해준다.
다운받아 본인의 홈계정에 풀면 ~/bin 이란 디렉토리가 생긴다.
그러면 본인의 home에 있는 ~/bin에 명령어를 실행가능하게 PATH에 다음을 추가해준다.
${HOME}/bin
그리고 나서 ssh config 파일을 수정해준다.
cd ~/bin
vi ssh.cfg
#<name>=<fake port num>=<login node>=<jump node>=<target node>
# fake port num : 5#### : last 4 digit is whatever
# login node and jump node format is
login_id@hostname# target node format is just hostname
#ex)
#test=50000=id@login=id@jump=targetsvn=54321=kage@cep= =home
이파일을 본인이 원하는 ssh tunnel용을 모두 등록하면된다.
첫번째 항목은 "이름"
두번째 항목은 "port 번호" 50000 이상을 사용하면됨. 그리고 첫번째 5는 손대지 않고 0000 부분의 숫자만 바꿀수 있다.
세번째 항목은 login 서버의 정보 : id@hostname
네번째 항목은 ssh tunnel을 두번 해야 된다면 처음 로그인후 두번째 건너띌 서버
다섯번째 항목은 최종 로그인 서버
예)
A서버의 kage를 지나 B서버의 kage를 지나 C 서버에 들어가고 싶다고 한다면
test=50000=kage@A=kage@B=C만약에 A서버의 kage를 지나 C 서버에 들어가고 싶다면
test1=50001=kage@A= =C
로 해주면된다.
ssh tunnel 항목 리스트 및 사용법을 보고 싶다면.. 아래처럼...
$ ssh.tunnel
usage: ssh.tunnel <hostname>
you can use kssh at other console after this(ssh.tunnel) command
hostname list)
svn
cep
cep2
test
test1
그럼 tunnel을 한다면
$ ssh.tunnel test
그리고 패스워드를 넣으면 tunnel이 열린다.
그리고나서 다른 창을 띄워서 kssh를 이용해서 scp 또는 ssh를 사용하면된다.
$ kssh
usage: kssh <option> <real command's paramter>
--help: help
-c : scp ( skip then : ssh )
-d : directory (scp's options)
default(skip): file
-p <put file/dir>: put the file to server
default(skip) : get mode
-i : target host's id
-h : ssh tunnel name
-v : version
configure file: ssh.cfg
hostname list)
svn
cep
cep2
test
test1
ssh login)
$ kssh -i root -h test
ls command via ssh)
$ kssh -i root -h test ls
scp from remote(/etc/ssh directory) to local( 현재 디렉토리) )
$ kssh -c -d -i root -h test /etc/ssh .
scp from remote to local)
$ kssh -c -i root -h test /etc/hosts .
scp from local to remote)
$ kssh -c -p /etc/hosts -i root -h test /etc
scp from local to remote )
$ kssh -c -d -p /etc/ssh -i root -h test /etc
download :