**릴리스 20260916-shared-port-sessions-1 · Linux ARM64 · 192.168.0.223 배포 완료**
2026-09-16: 웹 직접 연결과 동작 1·2의 SSH/Telnet 접속이 tera-sessiond의 동일 시리얼 연결을 공유합니다. 최대 세션이 4이면 웹과 두 동작의 합계 4개까지 접속하며, 모든 쓰기 권한 세션에서 입력할 수 있습니다. 5번째 접속은 거절하고 하나가 종료되면 다시 접속할 수 있습니다. 동작 1(eth0)과 동작 2(eth1)는 같은 포트 번호로 SSH/SSH, SSH/Telnet, Telnet/Telnet 조합을 사용할 수 있습니다. 출력과 장비 CLI 상태를 공유하므로 여러 사람이 동시에 입력하면 명령이 섞일 수 있습니다.
API·sessiond·웹을 백업 후 배포하고 해시, 공유 소켓, 준비 상태 12/12를 확인했습니다. 백업: `/userdata/tera-backups/shared-sessions-20260916-104536`. 관련 Go 테스트와 JavaScript 13개 테스트를 통과했고, 장비에서도 모의 UART·루프백 SSH/Telnet 통합 테스트를 통과했습니다. 실제 두 Ethernet 경로의 PuTTY 동시 접속은 별도 검증하지 않았습니다. 포트 선택 축소도 포함합니다.
동작 설정 1·2의 줄바꿈 표시를 CR·LF·CRLF 대문자로 바꾸고, 직접 연결 모드 제목의 `/ Port 1` 부분을 제거했습니다. 저장 값과 채널 선택 기능은 유지합니다. 렌더링 확인 후 웹을 배포했으며 최종 웹 백업은 `/userdata/tera-backups/direct-mode-title-20260914`입니다.
포트 선택 카드에도 별칭을 표시합니다. 긴 이름은 말줄임표로 표시하고 마우스를 올리면 전체 이름을 확인할 수 있습니다. 이 추가 웹 수정의 백업은 `/userdata/tera-backups/port-selector-alias-20260914`입니다.
추가 수정: 동작 1(eth0)과 동작 2(eth1)의 동일 Listen Port를 설정 저장 검사에서도 허용합니다. CH01 동작 1 SSH + 동작 2 Telnet의 저장·적용·설정 재로딩을 회귀 테스트로 확인했습니다. 같은 인터페이스의 포트 중복은 계속 거절합니다. 로그 형식 표시 이름은 ASCII·HEX 대문자이며 저장 값과 수신 원문은 유지합니다. 이번 API·웹의 이전 실행 파일은 `/userdata/tera-backups/operation2-telnet-20260914`에 백업했습니다.
실제 장비 검증: 정상 로그인한 API로 CH01 동작 2 Telnet을 적용·저장했습니다. 실행/영구 저장 리비전 29, eth0 SSH·eth1 Telnet의 10001 리스너와 공유 최대 세션 4를 확인했습니다. 실제 데이터 로그 HTML에서 ASCII·HEX 표시도 확인했습니다. 두 네트워크를 통한 실제 SSH/Telnet 클라이언트 동시 접속은 이번에 실행하지 않았습니다.
장비 준비 상태 12/12, HTTP 80·HTTPS 443 서비스, 설치 파일 8개와 final-build 폴더의 SHA256 일치를 확인했습니다. API·웹은 이번 수정본으로 빌드·배포했고, logd는 같은 날 배포한 시스템 개선 빌드입니다. 나머지 데몬은 현재 장비 설치본과 맞춘 파일입니다.
이번 수정은 포트 설정 탭 하나에서 채널 전환, 확대된 카드와 변경 대상 체크박스, 직접 연결 모드의 콘솔 아이콘 제거를 포함합니다. 대시보드 포트 위치는 1~48번으로 고정합니다. CR 응답이 잠시 누락돼 발생하던 DOWN 표시에는 15초 재확인을 적용했고, 지속적인 CR 무응답은 케이블 단절로 단정하지 않고 미확인으로 표시합니다. API와 상태 이벤트가 같은 CR 판정 함수를 사용합니다.
검증: 변경된 API·시리얼·상태 이벤트 Go 테스트, 프런트엔드 전체 Go 테스트, 탭·화면 전환·대시보드 JavaScript 테스트 19개, 로컬 Edge UI 검증을 통과했습니다. UI 검증은 시험 데이터로 수행했으며 장비에서 로그 삭제·복원·초기화·전원 재부팅은 실행하지 않았습니다.