웹사이트 검색

Linux에서 SSH 연결 속도를 높이는 4가지 방법


SSH는 Linux 서버를 원격으로 관리하는 가장 널리 사용되고 안전한 방법입니다. 원격 서버 관리의 과제 중 하나는 특히 원격 시스템과 로컬 시스템 간의 세션 생성과 관련된 연결 속도입니다.

이 프로세스에는 몇 가지 병목 현상이 있습니다. 한 가지 시나리오는 처음으로 원격 서버에 연결할 때입니다. 일반적으로 세션을 설정하는 데 몇 초가 걸립니다. 그러나 연속해서 여러 연결을 시작하려고 하면 오버헤드(작업을 수행하기 위한 초과 또는 간접 계산 시간, 메모리, 대역폭 또는 기타 관련 리소스의 조합)가 발생합니다.

이 기사에서는 Linux에서 원격 SSH 연결 속도를 높이는 방법에 대한 네 가지 유용한 팁을 공유합니다.

1. IPV4를 통한 SSH 연결 강제

OpenSSH는 IPv4/IP6을 모두 지원하지만 때때로 IPv6 연결이 느려지는 경향이 있습니다. 따라서 아래 구문을 사용하여 IPv4를 통해서만 SSH 연결을 강제하는 것을 고려할 수 있습니다.

ssh -4 [email 

또는 SSH 구성 파일 /etc/ssh/ssh_config(전역 구성)에서 AddressFamily(연결 시 사용할 주소 계열 지정) 지시어를 사용하거나 ~ /.ssh/config(사용자별 파일).

허용되는 값은 "any ", IPv4 전용의 경우 "inet " 또는 "inet6 "입니다.

vi ~.ssh/config 

다음은 사용자별 SSH 구성 파일 구성에 대한 유용한 시작 안내서입니다.

  1. 원격 액세스를 단순화하기 위해 사용자 정의 SSH 연결을 구성하는 방법

또한 원격 시스템에서 /etc/ssh/sshd_config 파일의 위 지시문을 사용하여 sshd 데몬이 IPv4를 통한 연결을 고려하도록 지시할 수도 있습니다.

2. 원격 컴퓨터에서 DNS 조회 비활성화

기본적으로 sshd 데몬은 원격 호스트 이름을 조회하고 원격 IP 주소에 대해 확인된 호스트 이름이 동일한 IP 주소에 다시 매핑되는지도 확인합니다. 이로 인해 연결 설정이나 세션 생성이 지연될 수 있습니다.

UseDNS 지시문은 위 기능을 제어합니다. 비활성화하려면 /etc/ssh/sshd_config 파일에서 검색하여 주석 처리를 해제하세요. 설정되지 않은 경우 no 값으로 추가하세요.

UseDNS  no

3. SSH 연결 재사용

SSH 클라이언트 프로그램은 원격 연결을 허용하는 SSHD 데몬에 대한 연결을 설정하는 데 사용됩니다. 새 SSH 세션을 생성할 때 이미 설정된 연결을 재사용할 수 있으며 이로 인해 후속 세션 속도가 크게 향상될 수 있습니다.

~/.ssh/config 파일에서 이를 활성화할 수 있습니다.

Host *
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist 600

위 구성(Host *)은 다음 지시어를 사용하여 연결하는 모든 원격 서버에 대한 연결 재사용을 활성화합니다.

  • ControlMaster – 단일 네트워크 연결을 통해 여러 세션을 공유할 수 있습니다.
  • ControlPath – 연결 공유에 사용되는 제어 소켓에 대한 경로를 정의합니다.
  • ControlPersistControlMaster와 함께 사용하는 경우 초기 클라이언트 연결이 닫힌 후 백그라운드에서 마스터 연결을 열어두도록(향후 클라이언트 연결을 대기) ssh에 지시합니다.

예를 들어, 특정 원격 서버에 대한 연결에 대해 이 기능을 활성화할 수 있습니다.

Host server1
	HostName   www.example.com
	IdentityFile  ~/.ssh/webserver.pem
      	User username_here
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist  600

이렇게 하면 첫 번째 연결에 대한 연결 오버헤드만 발생하고 이후의 모든 연결은 훨씬 빨라집니다.

4. 특정 SSH 인증 방법 사용

SSH 연결 속도를 높이는 또 다른 방법은 모든 SSH 연결에 대해 지정된 인증 방법을 사용하는 것입니다. 여기서는 5가지 쉬운 단계로 SSH keygen을 사용하여 SSH 비밀번호 없는 로그인을 구성하는 것이 좋습니다.

완료되면 위의 ssh_config 파일(전역 또는 사용자별) 내에서 PreferredAuthentications 지시어를 사용하세요. 이 지시문은 클라이언트가 인증 방법을 시도해야 하는 순서를 정의합니다(둘 이상의 방법을 사용하려면 명령으로 구분된 목록을 지정할 수 있습니다).

PreferredAuthentications=publickey 

선택적으로 명령줄에서 아래 구문을 사용합니다.

ssh -o "PreferredAuthentications=publickey" [email 

안전하지 않은 것으로 간주되는 비밀번호 인증을 선호하는 경우 이를 사용하십시오.

ssh -o "PreferredAuthentications=password" [email 

마지막으로 위의 모든 변경 사항을 적용한 후 sshd 데몬을 다시 시작해야 합니다.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

여기에 사용된 지시문에 대한 자세한 내용은 ssh_configsshd_config 매뉴얼 페이지를 참조하세요.

man ssh_config
man sshd_config 

또한 Linux 시스템에서 SSH를 보호하는 데 유용한 다음 가이드를 확인하세요.

  1. SSH 서버 보안 및 보호를 위한 5가지 모범 사례
  2. Linux에서 비활성 또는 유휴 SSH 연결을 끊는 방법

지금은 여기까지입니다! SSH 연결 속도를 높이기 위한 팁/요령이 있습니까? 우리는 이를 수행하는 다른 방법에 대해 듣고 싶습니다. 아래 의견 양식을 사용하여 우리와 공유하십시오.