최신 java에서 iDRAC Virtual Console 연결하기
iDRAC 에 접속하면 Virtual Console 이라고,, 간단하게 말해서 원격으로 서버 콘솔에 접근할 수 있다.
일종의 원격제어...
서버가 죽어도 서버실에 갈 필요 없이 왠만한 복구는 다 할 수 있게 해주는 한줄기 빛같은 존재
Java Web Start 라고, 웹브라우저에서 바로 자바를 실행할 수 있게 만들어진 프레임워크를 사용하는데, 요즘에 보안때문에 그런게 될일은 당근 없고, 그냥 viewer.jnlp 파일이 다운받아지는걸 자바로 실행해주면 된다.
평소엔 쓸 일이 없으니 봉인해두다가, 오늘 쓸일이 있어서 열어봤는데
안된다...ㅠㅠㅠ
검색해보니 Java Web Start 가 Java 9에서 deprecated 되었고, Java 11에서 삭제되었다고 함.
웹에서 실행해줄 뿐이지 어쨋든 자바니까, 직접 실행할 수 있는 방법을 찾아봤다.
우선 jnlp 파일을 열어보면 연결에 필요한 인자값들과 OS와 아키텍쳐에 따른 java 파일 링크가 걸려있다.
avctKVM.jar 파일과 연결하려는 시스템에 맞는 lib 파일들을 받는다.
그리고 구버전 JRE를 구한다. 설치할 필요는 없으니 오라클 홈페이지에서 tar.gz 버전으로 다운로드 받으면 됨.
1.7.0_80 (7u80) 버전이 된다길래 난 이걸로 했음.
bin, lib 등이 있는 폴더를(Mac버전 기준 Home) jre 라는 이름으로 바꿔서 가져온다.
정리하면,
┣ avctKVM.jar
┣ lib/
┃ ┣avctKVMIOMac64.jar
┣ ┗avctVMAPI_DLLMac64.jar
┣ jre/
┃ ┣ bin/...
┗ ┗ lib/...
이런느낌의 디렉토리 구성이 되도록..
이 후 viewer.jnlp 파일의 인자를 참고하여 다음과 같이 명령어를 실행하면 된다.
- viewer.jnlp 에는 일회용 ID/PW가 있는데, 그걸 써도 되지만 원래 계정을 입력해도 접속이 잘 됨.
- 없어도 되는 인자도 있겠지만 난 그냥 다 넣어줌.
- vmprivilege는 참고한 글에서 넣어줬길래 그냥 넣어줌.
./jre/bin/java -cp avctKVM.jar \
-Djava.library.path=./lib com.avocent.idrac.kvm.Main \
ip=SERVER_HOST \
vm=1 \
user=USER_ID \
passwd=USER_PW \
kmport=9595 \
vport=9595 \
apcp=1 \
reconnect=1 \
chat=1 \
F1=1 \
custom=0 \
scaling=15 \
minwinheight=100 \
minwinwidth=100 \
videoborder=0 \
version=2 \
vmprivilege=true
아, java 를 인터넷에서 받았다고 실행을 안해줄텐데, 파인더에서 option+열기로 먼저 실행해주거나,,, 여러가지 방법으로 허용해주면 됨.
난 걍 개인 정보 보호 - 개발자 도구 옵션에서 터미널을 추가했음
이러면 원래 쓰던거처럼 연결이 잘 됨.
다만 맥 기준,
한번이라도 한글인 상태로 타이핑을 하면 키 입력이 이상하게 들어가서 재접속을 해야하고
macOS 보안 옵션 문제인지 전체 키스트로크를 받을 수 없다고 오류가 난다. 이건 설정에서 직접 허용해주면 될 것 같기도 함.