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


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

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

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

1. IPV4를 통한 SSH 연결 강제

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

# ssh -4 [email protected]

또는 ssh 구성 파일/etc/ssh/ssh_config (전역 구성) 또는 ~/.ssh/config (사용자 특정 파일)에서 AddressFamily (연결시 사용할 주소 계열 지정) 지시문을 사용합니다.

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

$ vi ~.ssh/config 

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

  1. How to Configure Custom SSH Connections to Simplify Remote Access

또한 원격 시스템에서/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/%[email protected]%h-%p
	ControlPersist 600

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

  • ControlMaster – enables the sharing of multiple sessions over a single network connection.
  • ControlPath – defines a path to the control socket used for connection sharing.
  • ControlPersist – if used together with ControlMaster, tells ssh to keep the master connection open in the background (waiting for future client connections) once the initial client connection has been closed.

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

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

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

4. 특정 SSH 인증 방법 사용

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

이 작업이 완료되면 위의 ssh_config 파일 (글로벌 또는 사용자 별) 내에서 PreferredAuthentications 지시문을 사용하십시오. 이 지시문은 클라이언트가 인증 방법을 시도해야하는 순서를 정의합니다 (여러 방법을 사용하려면 명령으로 구분 된 목록을 지정할 수 있음).

PreferredAuthentications=publickey 

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

# ssh -o "PreferredAuthentications=publickey" [email protected]

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

# ssh -o "PreferredAuthentications=password" [email protected]

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

# systemctl restart sshd	#Systemd
# service sshd restart 		#SysVInit

여기에 사용 된 지시문에 대한 자세한 내용은 ssh_config 및 sshd_config 매뉴얼 페이지를 참조하십시오.

# man ssh_config
# man sshd_config 

Linux 시스템에서 ssh를 보호하기위한 다음 유용한 가이드도 확인하십시오.

  1. 5 Best Practices to Secure and Protect SSH Server
  2. How to Disconnect Inactive or Idle SSH Connections in Linux

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