[원본 출처] http://karaf.apache.org/manual/latest-2.3.x/users-guide/remote-console.html
Using remote instances (원격 인스턴스 사용하기)
Configuring remote instances (원격 인스턴스 환경 구성하기)
It does not always make sense to manage an instance of Karaf using its local console. You can manage Karaf remotely using a remote console.
Karaf의 로컬 콘솔을 사용하여 Karaf 인스턴스를 관리 하는 것을 항상 의미하는 것은 아니다. 당신은 원격으로 원격 콘솔을 사용하여 Karaf를 관리 할 수 있다.
When you start Karaf, it enables a remote console that can be accessed over SSH from any other Karaf console or plain SSH client. The remote console provides all the features of the local console and gives a remote user complete control over the container and services running inside of it.
Karaf를 시작할 때. 그것은 다른 Karaf 콘솔이나 원격 SSH 클라이언트로 부터 SSH를 통해 접속할 수 있는 원격 콘솔을 허용한다. 그 원격콘솔은 로컬 콘솔의 모든 기능을 제공하고 원격 사용자에게 컨테이너 와 그것의 안쪽에 실행중인 서비스를 완전히 컨트롤 하도록 해준다.
The SSH hostname and port number is configured in the etc/org.apache.karaf.shell.cfg configuration file with the following default values:
SSH 호스트명과 포트 etc/org.apache.karaf.shell.cfg 환경 구성파일에 다음 기본값으로 환경구성되어 있다.
sshPort=8101
sshHost=0.0.0.0
sshRealm=karaf
hostKey=${karaf.base}/etc/host.key
You can change this configuration using the config commands or by editing the above file, but you'll need to restart the ssh console in order for it to use the new parameters.
당신은 위 파일을 편집함으로써 이 환경 구성 파일을 config 명령어들을 사용하여 변경 할 수 있다. 그러나 당신은 새 파라미터를 사용하기 위해서 ssh 콘솔을 재 시작 하는 것을 필요로 하게 될 것이다.
# define helper functions
bundle-by-sn = { bm = new java.util.HashMap ; each (bundles) { $bm put ($it symbolicName) $it } ; $bm get $1 }
bundle-id-by-sn = { b = (bundle-by-sn $1) ; if { $b } { $b bundleId } { -1 } }
# edit config
config:edit org.apache.karaf.shell
config:propset sshPort 8102
config:update
# force a restart
osgi:restart --force (bundle-id-by-sn org.apache.karaf.shell.ssh)
Connecting and disconnecting remotely (원격으로 접속하기, 접속 끊기)
Using the ssh:ssh command (ssh:ssh 명령어 사용하기)
You can connect to a remote Karaf's console using the ssh:ssh command.
ssh:ssh 명령어를 사용하여 Karaf의 콘솔에 원격 접속 할 수 있다.
karaf@root> ssh:ssh -l karaf -P karaf -p 8101 hostname
The default password is karaf but we recommend changing it. See the security section for more informations.
기본 비밀번호는 karaf 그러나 우리는 그것을 변경하는 것을 추천한다. 더 많은 정보들은 보안 섹션을 보라
To confirm that you have connected to the correct Karaf instance, type shell:info at the karaf> prompt. Information about the currently connected instance is returned, as shown.
당신이 정확한 Karaf 인스턴스에 접속한것이 확실하게 하기 위해 karaf> 프롬프트에 shell:info 입력하라. 현재 접속된 인스턴스에 대한 정보가 반환 될 것이다. 보여지는 것처럼,
Karaf
Karaf home /local/apache-karaf-2.0.0
Karaf base /local/apache-karaf-2.0.0
OSGi Framework org.eclipse.osgi - 3.5.1.R35x_v20090827
JVM
Java Virtual Machine Java HotSpot(TM) Server VM version 14.1-b02
...
Using the Karaf client (Karaf 클라이언트 사용하기)
The Karaf client allows you to securely connect to a remote Karaf instance without having to launch a Karaf instance locally.
Karaf 클라이언트는 당신이 Karaf 인스턴스를 시작해야 하지 않고 안전하게 원격 Karaf 인스턴스에 접속 하는 것을 허용한다.
For example, to quickly connect to a Karaf instance running in server mode on the same machine, run the following command:
예를 들면 같은 머신상의 서버모드에서 실행중인 Karaf 인스턴스에 빨리 접속하기 위해 다음 명령어를 실행하라.
bin/client
More commonly, you would provide a hostname, port, username and password to connect to a remote instance. And, if you were using the client within a larger script, you could append console commands as follows:
좀더 일반적으로 당신은 호스트명, 포트, 사용자명, 비밀번호를 원격 인스턴스에 접속하기 위해 제공해야 한다. 그리고 만약 당신이 큰 스크립트 없이 클라이언트를 사용하려면 당신은 다음으로 콘솔 명령어에 추가 할 수 있다.
bin/client -a 8101 -h hostname -u karaf -p karaf features:install wrapper
To display the available options for the client, type:
클라이언트에 사용 가능한 옵션을 표시하기 위해 입력하라.
> bin/client --help
Apache Karaf client
-a [port] specify the port to connect to
-h [host] specify the host to connect to
-u [user] specify the user name
-p [password] specify the password
--help shows this help message
-v raise verbosity
-r [attempts] retry connection establishment (up to attempts times)
-d [delay] intra-retry delay (defaults to 2 seconds)
[commands] commands to run
If no commands are specified, the client will be put in an interactive mode
Using a plain SSH client (일반 SSH 클라이언트 사용하기)
You can also connect using a plain SSH client from your *nix system or Windows SSH client like Putty.
또 당신의 *닉스 시스템 또는 Putty 같은 윈도우즈 SSH 클라이언트 에서 일반 SSH 클라이언트를 사용하여 접속 할 수 있다.
~$ ssh -p 8101 karaf@localhost
karaf@localhost's password:
Disconnecting from a remote console (원격 콘솔로 접속 끊기)
To disconnect from a remote console, press Ctrl+D, shell:logout or simply logout at the Karaf prompt.
원격 콘솔로 부터 접속 끊기를 위해서, Karaf 프롬프트에 Ctrl+D, shell:logout 나 단순히 logout 입력하라
Stopping a remote instance(원격 인스턴스 멈추기)
Using the remote console (원격 콘솔 사용하기)
If you have connected to a remote console using the ssh:ssh command or the Karaf client, you can stop the remote instance using the osgi:shutdown command.
만약 당신이 ssh:ssh 명령어나 Karaf 클라이언트를 사용하여 원격 콘솔에 접속했다면, 당신은 원격 인스턴스를 osgi:shutdown를 사용하여 멈추게 할 수 있다.
Pressing Ctrl+D in a remote console simply closes the remote connection and returns you to the local shell.
원격 콘솔에서 Ctrl+D 을 입력 하는 것은 단순히 원격 커넥션을 닫는 것이고 로컬 쉘에 반환된다.
Using the Karaf client (Karaf 클라이언트 사용하기)
To stop a remote instance using the Karaf client, run the following from the lib directory:
Karaf 클라이언트를 사용하여 원격 인스턴스를 멈추기 위해 lib 디렉토리에서 다음을 실행하라. (bin 디렉토리 아니고??)
bin/client -u karaf -p karaf -a 8101 hostname osgi:shutdown