Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

12.3. OpenSSH 클라이언트

클라이언트 머신에서 OpenSSH 서버에 연결하려면 openssh-clients 패키지가 설치되어 있어야 합니다( 9.2.4절. “패키지 설치” Red Hat Enterprise Linux에 새 패키지를 설치하는 방법에 대한 자세한 내용은 를 참조하십시오.

12.3.1. ssh utility 사용

ssh 유틸리티를 사용하면 원격 시스템에 로그인하고 명령을 실행할 수 있습니다. rlogin, rsh, telnet 프로그램을 대체합니다.

telnet 명령과 마찬가지로 다음 명령을 사용하여 원격 머신에 로그인합니다.

ssh hostname

예를 들어 이름이 Penguin .example.com 인 원격 시스템에 로그인하려면 쉘 프롬프트에서 다음을 입력합니다.

~]$ ssh penguin.example.com

그러면 로컬 시스템에서 사용하는 것과 동일한 사용자 이름으로 로그인합니다. 다른 사용자 이름을 지정하려면 다음 양식에서 명령을 사용합니다.

ssh username@hostname

예를 들어, Penguin .example.comUSER 로 로그인하려면 다음을 입력합니다.

~]$ ssh USER@penguin.example.com

연결을 처음 시작하면 다음과 유사한 메시지가 표시됩니다.

The authenticity of host 'penguin.example.com' can't be established.
ECDSA key fingerprint is SHA256:vuGKK9dsW34zrZzwjl5g+vOE6EZQvHRQ8zObKYO2mW4.
ECDSA key fingerprint is MD5:7e:15:c3:03:4d:e1:dd:ee:99:dc:3e:f4:b9:67:6b:62.
Are you sure you want to continue connecting (yes/no)?

사용자는 이 대화 상자의 질문에 대답하기 전에 지문이 올바른지 항상 확인해야 합니다. 사용자는 서버 관리자에게 키가 올바른지 확인하도록 요청할 수 있습니다. 이는 안전하고 이전에 동의한 방식으로 수행되어야 합니다. 사용자가 서버의 호스트 키에 액세스할 수 있는 경우 다음과 같이 ssh-keygen 명령을 사용하여 지문을 확인할 수 있습니다.

~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
SHA256:vuGKK9dsW34zrZzwjl5g+vOE6EZQvHRQ8zObKYO2mW4
참고

이전 버전의 기본 지문인 MD5 키 지문을 가져오려면 -E md5 옵션과 함께 ssh-keygen 명령을 사용합니다.

~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub -EM md5
MD5:7e:15:c3:03:4d:e1:dd:ee:99:dc:3e:f4:b9:67:6b:62

yes 를 입력하여 키를 승인하고 연결을 확인합니다. 서버가 알려진 호스트 목록에 추가되었으며 암호를 묻는 프롬프트가 표시됩니다.

Warning: Permanently added 'penguin.example.com' (ECDSA) to the list of known hosts.
USER@penguin.example.com's password:
중요

SSH 서버의 호스트 키가 변경되면 클라이언트는 서버의 호스트 키가 ~/.ssh/known_hosts 파일에서 삭제될 때까지 연결을 진행할 수 없음을 사용자에게 알립니다. 그러나 이 작업을 수행하기 전에 SSH 서버의 시스템 관리자에게 문의하여 서버가 손상되지 않았는지 확인합니다.

~/.ssh/known_hosts 파일에서 키를 제거하려면 다음과 같이 명령을 실행합니다.

~]# ssh-keygen -R penguin.example.com
# Host penguin.example.com found: line 15 type ECDSA
/home/USER/.ssh/known_hosts updated.
Original contents retained as /home/USER/.ssh/known_hosts.old

암호를 입력하면 원격 시스템에 대한 쉘 프롬프트가 제공됩니다.

또는 ssh 프로그램을 사용하여 쉘 프롬프트에 로그인하지 않고 원격 시스템에서 명령을 실행할 수 있습니다.

ssh username@hostname command

예를 들어 /etc/redhat-release 파일은 Red Hat Enterprise Linux 버전에 대한 정보를 제공합니다. Penguin .example.com 에서 이 파일의 내용을 보려면 다음을 입력합니다.

~]$ ssh USER@penguin.example.com cat /etc/redhat-release
USER@penguin.example.com's password:
Red Hat Enterprise Linux Server release 7.0 (Maipo)

올바른 암호를 입력하면 사용자 이름이 표시되고 로컬 쉘 프롬프트로 돌아갑니다.

12.3.2. scp utility 사용

SCP 는 안전하고 암호화된 연결을 통해 컴퓨터 간에 파일을 전송하는 데 사용할 수 있습니다. 그 설계에서는 rcp 와 매우 유사합니다.

로컬 파일을 원격 시스템으로 전송하려면 다음 형식으로 명령을 사용합니다.

scp localfile username@hostname:remotefile

예를 들어 taglist.vim 을 Penguin. example.com 이라는 원격 시스템으로 전송하려면 쉘 프롬프트에서 다음을 입력합니다.

~]$ scp taglist.vim USER@penguin.example.com:.vim/plugin/taglist.vim
USER@penguin.example.com's password:
taglist.vim                  100% 144KB 144.5KB/s  00:00

여러 파일을 한 번에 지정할 수 있습니다. .vim/plugin/ 의 콘텐츠를 원격 시스템 Penguin .example.com 의 동일한 디렉터리에 전송하려면 다음 명령을 입력합니다.

~]$ scp .vim/plugin/* USER@penguin.example.com:.vim/plugin/
USER@penguin.example.com's password:
closetag.vim                 100%  13KB 12.6KB/s  00:00
snippetsEmu.vim                100%  33KB 33.1KB/s  00:00
taglist.vim                  100% 144KB 144.5KB/s  00:00

원격 파일을 로컬 시스템으로 전송하려면 다음 구문을 사용합니다.

scp username@hostname:remotefile localfile

예를 들어 원격 머신에서 .vimrc 구성 파일을 다운로드하려면 다음을 입력합니다.

~]$ scp USER@penguin.example.com:.vimrc .vimrc
USER@penguin.example.com's password:
.vimrc                    100% 2233   2.2KB/s  00:00

12.3.3. sftp 유틸리티 사용

sftp 유틸리티를 사용하여 안전하고 대화형 FTP 세션을 열 수 있습니다. 그 설계에서는 안전한 암호화된 연결을 사용하는 것을 제외하고는 ftp 와 유사합니다.

원격 시스템에 연결하려면 다음 형식으로 명령을 사용합니다.

sftp username@hostname

예를 들어 USER 를 사용자 이름으로 사용하여 이름이 Penguin .example.com 인 원격 시스템에 로그인하려면 다음을 입력합니다.

~]$ sftp USER@penguin.example.com
USER@penguin.example.com's password:
Connected to penguin.example.com.
sftp>

올바른 암호를 입력하면 프롬프트가 표시됩니다. sftp 유틸리티는 ftp 에서 사용하는 것과 유사한 명령 집합을 허용합니다( 표 12.3. “사용 가능한 sftp 명령 선택”참조).

표 12.3. 사용 가능한 sftp 명령 선택

명령설명

LS [디렉토리]

원격 디렉터리 의 내용을 나열합니다. 제공되지 않으면 기본적으로 현재 작업 디렉터리가 사용됩니다.

cd directory

원격 작업 디렉터리를 디렉터리로 변경합니다.

mkdir directory

원격 디렉터리 를 만듭니다.

rmdir path

원격 디렉터리 를 제거합니다.

localfile [remotefile] 입력합니다.

localfile 을 원격 시스템으로 전송합니다.

get remotefile [localfile]

원격 시스템에서 remotefile 을 전송합니다.

사용 가능한 명령의 전체 목록은 sftp(1) 매뉴얼 페이지를 참조하십시오.