SSH 사용 가이드



문제를 제거하기 위해 도구를 사용해보십시오

SSH 콘솔에서 작동하는 네트워크 프로토콜입니다. 가장 일반적으로 사용되는 SSH 클라이언트는 PuTTy입니다. 아래 이미지는 설정된 SSH 세션을 보여줍니다. 사용하기 쉽고 빠릅니다. 대부분의 IT 전문가는 보안과 서버에서 관리 및 관리 작업을 수행하기위한 빠르고 쉬운 액세스로 인해 SSH를 통해서만 전체 네트워크를 관리합니다. SSH의 전체 세션이 암호화됩니다. SSH의 주요 프로토콜은 SSH1 / SSH-1 및 SSH2 / SSH-2입니다. SSH-2는 후자이며 SSH-1보다 더 안전합니다. Linux OS에는 콘솔에 액세스하기위한 터미널이라는 유틸리티가 내장되어 있으며 Windows 시스템에는 SSH 클라이언트 (예 : PuTTy)가 필요합니다.



퍼티



SSH를 사용하여 원격 호스트에 액세스



SSH를 사용하여 원격 호스트 / 머신에 액세스하려면 다음이 필요합니다.

에) PuTTy (무료 SSH 클라이언트)
b) SSH 서버 사용자 이름
c) SSH 서버 비밀번호
d) SSH 포트 일반적으로 22이지만 22가 기본값이므로이 포트에 대한 공격을 피하기 위해 다른 포트로 변경해야합니다.

Linux 시스템에서 사용자 이름 루트 기본적으로 관리자이며 모든 관리 권한을 포함합니다.

터미널에서 다음 명령은 서버에 대한 연결을 시작합니다.

ssh root@192.168.1.1
여기서 root는 사용자 이름이고 192.168.1.1은 호스트 주소입니다.

터미널은 다음과 같습니다.

단말기

명령은 다음에 입력됩니다. $ 기호 . 터미널 / 퍼티의 명령에 대한 도움말을 보려면 다음 구문을 사용하십시오.

남자 ssh
남자 명령

man, 그 뒤에 어떤 명령이든 화면에 명령 안내를 반환합니다.

이제 제가 할 것은 VMWare에서 실행되는 Debian OS에 PuTTy를 사용하는 SSH입니다.

하지만 그렇게하기 전에 내 VM Debian에 로그인하여 SSH를 활성화해야합니다. 호스팅 회사에서 방금 서버를 구입 한 경우 SSH를 활성화하도록 요청할 수 있습니다.

ssh를 활성화하려면
sudo /etc/init.d/ssh restart

우분투를 사용하고 있고 ssh가 설치되지 않았기 때문에
ssh를 설치하려면 다음 명령을 사용하십시오.
sudo apt-get install openssh-client
sudo apt-get install openssh-server

그리고 PuTTy를 통해 SSH에 로그인 한 정보는 다음과 같습니다.

ssh

이제 이것이 SSH를 설정하고 PuTTy를 통해 세션을 설정하는 데 필요한 작업입니다. 아래에서는 전체 시나리오를 더 잘 볼 수 있도록 천천히 시작되는 몇 가지 기본 고급 기능에 대해 설명하겠습니다.

기본 ssh 구성 파일은 다음 위치에 있습니다. / etc / ssh / sshd_config
구성 파일을 보려면 다음을 사용하십시오. 고양이 / etc / ssh / sshd_config
구성 파일을 편집하려면 다음을 사용하십시오. vi / etc / ssh / sshd_config 또는 나노 / etc / ssh / sshd_config

파일을 편집 한 후 CTRL + X를 누르고 Y 키를 눌러 저장하고 종료합니다 (나노 편집기).

SSH 포트는 구성 파일에서 변경할 수 있습니다. 기본 포트는 22입니다. 기본 명령 인 cat, vi 및 nano는 다른 항목에서도 작동합니다. 구체적으로 명령에 대해 자세히 알아 보려면 Google 검색을 사용합니다.

구성 파일을 변경하면 해당 서비스를 다시 시작해야합니다. 더 나아가, 이제 포트를 변경하고 싶다고 가정 해 보겠습니다. 따라서 sshd_config 파일을 편집하고

나노 / etc / ssh / sshd_config

포트 SSH

관리자로 로그인하거나 sudo nano / etc / ssh / sshd_config 파일을 편집합니다. 편집 한 후 ssh 서비스를 다시 시작하고 sudo /etc/init.d/ssh restart

포트를 변경하는 경우 기본 방화벽을 사용하는 경우 IPTABLES에서 허용해야합니다.

iptables -I INPUT -p tcp –dport 5000 -j ACCEPT
/etc/rc.d/init.d/iptables 저장

iptables를 쿼리하여 포트가 열려 있는지 확인하십시오.
iptables -nL | grep 5000

구성 파일에는 몇 가지 지시문이 있습니다. 앞에서 설명한 것처럼 SSH에 대한 두 가지 프로토콜 (1 및 2)이 있습니다. 1로 설정되어 있으면 2로 변경하십시오.

다음은 내 구성 파일의 일부입니다.

# 패키지 생성 구성 파일
# 자세한 내용은 sshd_config (5) 맨 페이지를 참조하십시오.

# 우리가 수신하는 포트, IP 및 프로토콜
포트 5000 22 번을 포트로 대체
# sshd가 바인딩 할 인터페이스 / 프로토콜을 제한하려면이 옵션을 사용하십시오.
#ListenAddress ::
#ListenAddress 0.0.0.0
실험 계획안 2는 프로토콜 1을 2로 대체했습니다.

변경 후 서비스를 다시 시작하는 것을 잊지 마십시오

루트는 관리자이며 비활성화하는 것이 좋습니다. 그렇지 않으면 원격 연결에 열려있는 경우 무차별 대입 공격 또는 기타 ssh 취약성의 대상이 될 수 있습니다. Linux 서버는 해커가 가장 사랑하는 제품입니다. 지시어 LoginGraceTime , 사용자가 로그인 및 인증 할 수있는 시간 제한을 설정합니다. 그렇지 않은 경우 연결이 닫힙니다. 기본값으로 둡니다.

# 인증 :
LoginGraceTime 120
PermitRootLogin 아니요
StrictModes 예

매우 멋진 기능은 키 인증 (PubkeyAuthentication) –이 기능을 사용하면 Amazon EC3 서버에서 볼 수 있듯이 키 기반 인증 만 설정할 수 있습니다. 개인 키를 통해서만 서버에 액세스 할 수 있으며 매우 안전합니다. 이 작업을 수행하려면 키 쌍을 생성하고 해당 개인 키를 원격 컴퓨터에 추가하고 해당 키를 사용하여 액세스 할 수 있도록 서버에 공개 키를 추가해야합니다.

PubkeyAuthentication 예
AuthorizedKeysFile .ssh / authorized_keys
RSAAuthentication 예
비밀번호 인증 번호

이것은 모든 암호를 거부하고 사용자가 키로 만 액세스 할 수 있도록합니다.

전문 네트워크에서는 일반적으로 사용자에게 허용 된 작업과 허용되지 않는 작업 및 기타 필요한 정보를 알려줍니다.

배너에 대해 편집 할 구성 파일은 다음과 같습니다. / etc / motd
편집기에서 파일을 열려면 다음을 입력하십시오. 나노 / etc / motd 또는 sudo / etc / motd

메모장에서와 마찬가지로 파일을 편집합니다.

배너를 파일에 배치하고 / etc / motd에서 참조 할 수도 있습니다.

예 : nano banner.txt banner.txt 파일이 생성되고 즉시 편집기가 열립니다.

배너를 편집하고 ctrl + x / y를 눌러 저장합니다. 그런 다음 다음을 사용하여 motd 파일에서 참조하십시오.

배너 /home/users/appualscom/banner.txt 또는 파일 경로는 무엇이든 상관 없습니다.

배너와 마찬가지로 로그인 프롬프트 전에 메시지를 추가 할 수도 있습니다. 편집 할 파일은 다음과 같습니다. / etc / issue

SSH 터널링

SSH 터널링을 사용하면 로컬 시스템에서 원격 시스템으로 트래픽을 터널링 할 수 있습니다. SSH 프로토콜을 통해 생성되고 암호화됩니다. 기사를 확인하십시오. SSH 터널링

SSH 터널을 통한 그래픽 세션

다음 줄의 주석 처리를 제거하여 그래픽 / GUI 세션을 활성화합니다.
X11Forwarding 예

클라이언트 측에서 명령은 다음과 같습니다.
ssh -X root@10.10.10.111

간단한 명령을 사용하여 firefox 등과 같은 프로그램을 실행할 수 있습니다.
파이어 폭스

표시 오류가 발생하면 주소를 설정하십시오.
export DISPLAY = IPaddressofmachine : 0.0

TCP 래퍼

선택한 호스트를 허용하고 일부는 거부하려는 경우 수정해야하는 파일입니다.

1. /etc/hosts.allow
2. /etc/hosts.deny

몇 개의 호스트를 허용하려면

sshd : 10.10.10.111

모든 사람이 서버로 sshing하지 못하도록 차단하려면 /etc/hosts.deny에 다음 줄을 추가하십시오.
sshd : 모두

SCP – 보안 복사

SCP – 보안 사본은 파일 전송 유틸리티입니다. ssh를 통해 파일을 복사 / 전송하려면 다음 명령을 사용해야합니다.

아래 명령은 10.10.10.111의 / home / user2에 myfile을 복사합니다.
scp / home / user / myfile root@10.10.10.111 : / home / user2
scp 소스 대상 구문

폴더를 복사하려면
scp –r / home / user / myfolder roor@10.10.10.111 : / home / user2

원격 시스템에서 파일 검색

원격 시스템에서 파일을 검색하고 시스템에서 출력을 보는 것은 매우 쉽습니다. 원격 컴퓨터에서 파일을 검색하려면

ssh root@10.10.10.111“find / home / user –name‘* .jpg’”

이 명령은 / home / user 디렉토리에서 모든 * .jpg 파일을 검색하며 재생할 수 있습니다. find / -name은 전체 / 루트 디렉토리를 검색합니다.

SSH 추가 보안

iptables를 사용하면 시간 기반 제한을 설정할 수 있습니다. 아래 명령은 인증에 실패 할 경우 120 초 동안 사용자를 차단합니다. 명령에서 / 초 / 시간 / 분 또는 / 일 매개 변수를 사용하여 기간을 지정할 수 있습니다.

시간 기반 제한
iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -m limit –limit 120 / second –limit-burst 1 -j ACCEPT

iptables -A INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP

5000은 포트이며 설정에 따라 변경하십시오. .

특정 IP에서 인증 허용
iptables -A INPUT -p tcp -m state –state NEW –source 10.10.10.111 –dport 22 -j ACCEPT

기타 유용한 명령

SSH를 통해 화면 연결
ssh -t root@10.10.10.111 화면 –r
SSH 전송 속도 확인
예 | pv | ssh $root@10.10.10.111“cat> / dev / null”

태그 ssh SSH 터널링 4 분 읽기