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.com
에 USER
로 로그인하려면 다음을 입력합니다.
~]$ 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 명령 선택”참조).
명령 | 설명 |
---|---|
| 원격 디렉터리 의 내용을 나열합니다. 제공되지 않으면 기본적으로 현재 작업 디렉터리가 사용됩니다. |
| 원격 작업 디렉터리를 디렉터리로 변경합니다. |
| 원격 디렉터리 를 만듭니다. |
| 원격 디렉터리 를 제거합니다. |
localfile [remotefile] | localfile 을 원격 시스템으로 전송합니다. |
| 원격 시스템에서 remotefile 을 전송합니다. |
사용 가능한 명령의 전체 목록은 sftp
(1) 매뉴얼 페이지를 참조하십시오.