소개
이 랩에서는 Linux ssh 명령어를 사용하여 다른 Linux 시스템에 원격으로 연결하고 관리하는 방법을 배우게 됩니다. SSH (Secure Shell) 는 시스템 관리자와 네트워크 엔지니어를 위한 강력한 도구로, 원격으로 안전하게 광범위한 작업을 수행할 수 있게 해줍니다.
성과
이 랩을 마치면 다음을 수행할 수 있습니다.
ssh명령어를 사용하여 원격 시스템에 안전하게 연결- SSH 를 사용하여 원격 시스템에서 명령 실행
- 원격 시스템 관리의 기본 사항 이해
labex 사용자 비밀번호 검색
SSH 를 사용하기 전에, labex 사용자의 비밀번호를 알아야 합니다. 이 랩 환경에서는 비밀번호가 환경 변수로 저장되어 있습니다.
- 데스크톱 환경에서 터미널 창을 엽니다. 데스크톱 환경 터미널만 환경 변수가 설정되어 있습니다.

비밀번호를 검색하려면 다음 명령을 실행합니다.
printenv | grep PASSWORD참고: 이 명령은 상단 메뉴 바에서 연 터미널이 아닌, 데스크톱 환경 터미널에서 실행해야 합니다.
이 명령은 "PASSWORD"를 포함하는 모든 환경 변수를 표시합니다.
LABEX_PASSWORD=...라는 줄을 찾으십시오. 등호 뒤의 문자가 비밀번호입니다.이 비밀번호를 기록해 두십시오. 다음 단계에서 필요합니다.
중요: labex 사용자 비밀번호를 변경하지 마십시오. 랩 환경은 이 특정 비밀번호로 설정되어 있으며, 변경하면 랩 검증 단계가 실패할 수 있습니다. 이 랩 전체에서 LABEX_PASSWORD 환경 변수가 제공하는 비밀번호를 항상 사용하십시오.
SSH 를 사용하여 로컬 시스템에 연결
이제 비밀번호를 얻었으니, SSH 를 사용하여 로컬 시스템에 연결하는 연습을 해보겠습니다. 이는 원격 시스템에 연결하는 것을 시뮬레이션합니다.

터미널에서 다음 명령을 사용하여 SSH 를 통해 로컬 시스템에 연결합니다.
ssh labex@127.0.0.1여기서
127.0.0.1은 로컬 머신을 가리키는 루프백 IP 주소입니다. 종종 "localhost"라고 불립니다.호스트의 진위 여부에 대한 메시지가 표시될 수 있습니다. 이 메시지는 이 "원격" 시스템에 처음 연결하기 때문에 나타납니다. 실제 시나리오에서는 진행하기 전에 지문을 확인해야 합니다. 이 랩에서는
yes를 입력하고 Enter 키를 눌러 계속 진행합니다.비밀번호를 묻는 메시지가 표시되면, 1 단계에서 검색한 비밀번호를 입력합니다. 입력하는 동안 비밀번호가 표시되지 않습니다.
성공하면 새로운 프롬프트가 표시됩니다. 이는 동일한 머신에 있더라도 SSH 를 통해 연결되었음을 나타냅니다.
SSH 세션을 종료하려면
exit를 입력하고 Enter 키를 누릅니다. 그러면 원래 터미널 세션으로 돌아갑니다.
SSH 를 사용하여 간단한 명령어 실행
SSH 를 사용하여 "원격" 시스템에서 명령을 실행하는 연습을 해보겠습니다. 이는 전체 SSH 세션을 시작하지 않고도 빠른 명령을 실행해야 할 때 유용합니다.
다음 명령을 사용하여 SSH 를 통해 로컬 시스템의 홈 디렉토리 내용을 나열합니다.
ssh labex@127.0.0.1 'ls -l ~'이 명령은 다음과 같이 분석됩니다.
ssh: SSH 연결을 시작하는 명령labex@127.0.0.1: 연결할 사용자 및 IP 주소'ls -l ~': 원격 시스템에서 실행하려는 명령 (따옴표로 묶임)
메시지가 표시되면
labex사용자 비밀번호를 입력합니다.ls -l ~명령의 출력을 볼 수 있으며, 홈 디렉토리의 내용이 표시됩니다. 이 출력은 실제로 동일한 머신임에도 불구하고 "원격" 시스템에서 제공됩니다.이번에는 전체 SSH 세션에 들어가지 않았음을 확인하십시오. 명령이 실행되었고, 즉시 원래 터미널로 돌아왔습니다.
Pseudo-Terminal 할당과 함께 SSH 사용
일부 명령은 적절한 실행을 위해 pseudo-terminal 이 필요하며, 특히 대화형 명령이나 형식이 지정된 출력을 생성하는 명령에 필요합니다. SSH 에서 -t 옵션을 사용하여 pseudo-terminal 할당을 강제하는 연습을 해보겠습니다.
다음 명령을 실행하여 시스템의 가동 시간을 확인합니다.
ssh -t labex@127.0.0.1 'uptime'-t옵션은 SSH 가 pseudo-terminal 을 할당하도록 강제합니다. 이는 대화형 환경에서 실행될 것으로 예상되는 명령에 필요할 수 있습니다.메시지가 표시되면
labex사용자 비밀번호를 입력합니다.시스템이 얼마나 오랫동안 실행되었는지와 부하 평균 정보를 보여주는 출력을 볼 수 있습니다.
이제 대화형 명령을 시도해 보겠습니다. 다음을 실행합니다.
ssh -t labex@127.0.0.1 'top -n 1'이것은
top명령을 실행합니다. 이 명령은 일반적으로 시스템 프로세스의 대화형 보기를 제공하지만, 여기서는 한 번의 반복 후에 종료하기 위해-n 1옵션을 사용합니다.다시, 메시지가 표시되면
labex사용자 비밀번호를 입력합니다.시스템에서 실행 중인 상위 프로세스를 보여주는 형식이 지정된 출력을 볼 수 있습니다.
원격 파일 생성 및 접근
"원격" 시스템에서 파일을 생성하고 접근하는 연습을 해보겠습니다. 이는 SSH 를 사용하여 원격 시스템에서 파일을 조작하는 방법을 보여줍니다.
SSH 를 사용하여 원격 시스템의 홈 디렉토리에
remote_test.txt라는 파일을 생성합니다.ssh labex@127.0.0.1 'echo "This is a test file created remotely" > ~/remote_test.txt'이 명령은 SSH 를 사용하여 원격 시스템에서
echo명령을 실행하며, 이 명령은 텍스트를 새 파일로 출력합니다.이제 방금 생성한 파일의 내용을 확인해 보겠습니다.
ssh labex@127.0.0.1 'cat ~/remote_test.txt'cat명령은 파일의 내용을 표시하는 데 사용됩니다.터미널에 "This is a test file created remotely" 메시지가 표시되어야 합니다.
파일을 나열하여 파일의 존재를 확인해 보겠습니다.
ssh labex@127.0.0.1 'ls -l ~/remote_test.txt'이렇게 하면 권한, 크기 및 생성 날짜를 포함한 파일 세부 정보가 표시됩니다.
요약
이 랩에서는 ssh 명령을 사용하여 Linux 시스템에 원격으로 연결하고 관리하는 방법을 배웠습니다. 환경 변수에서 사용자 비밀번호를 검색하고, SSH 를 통해 로컬 시스템에 연결 (원격 연결 시뮬레이션), 원격으로 명령을 실행하고, pseudo-terminal 할당과 함께 SSH 를 사용하고, "원격" 시스템에서 파일을 생성하고 접근하는 연습을 했습니다.
이러한 기술은 시스템 관리자 및 Linux 시스템을 원격으로 관리해야 하는 모든 사람에게 기본적인 것입니다. 연습을 위해 로컬 시스템을 사용했지만, 이러한 동일한 명령과 기술을 사용하여 네트워크 또는 인터넷을 통해 진정한 원격 시스템에 연결하고 관리할 수 있습니다.
원격 시스템으로 작업할 때는 항상 보안을 우선시하십시오. 강력한 비밀번호를 사용하고, 시스템을 최신 상태로 유지하며, 프로덕션 환경에서는 키 기반 인증과 같은 추가 보안 조치를 고려하십시오.
시스템 관리 여정을 계속 진행하면서 SSH 가 원격 관리 및 문제 해결에 필수적인 도구임을 알게 될 것입니다.



