SSH Push(터널 사용) 연락 방법
SSH Push (with tunnel) (ssh-push-tunnel) is used in environments where clients cannot reach the SUSE Multi-Linux Manager Server directly. In this environment, clients are located in a firewall-protected zone called a DMZ. No system within the DMZ is authorized to open a connection to the internal network, including the SUSE Multi-Linux Manager Server.
즉, SSH Push(터널 사용)는 서버에서 클라이언트로의 역방향 터널을 생성할 뿐만 아니라 클라이언트에서 SUSE Multi-Linux Manager 서버로의 역방향 터널도 생성합니다.
서버는 SSH를 사용해 정기적으로 클라이언트에 연결하여 체크인하고 예약된 작업과 이벤트를 수행합니다.
|
프로비저닝 모델을 사용하여 시스템을 다시 설치하는 것은 현재 SSH Push로 관리되는 클라이언트에서는 지원되지 않습니다. |
|
터널은 암호화된 터널을 통해 서버로의 액세스를 제공하기 위해 사용됩니다. SSH 푸시 클라이언트(터널 사용)에 할당된 리포지토리는 이 터널을 통해서만 제공되므로 터널이 작동하는 동안에만 리포지토리를 사용할 수 있으므로 클라이언트 시스템에서 직접 패키지 관리자 도구를 사용할 수 없습니다. 즉, 서버에서 세션을 시작한 경우에만 액세스가 가능합니다. 클라이언트의 모든 패키지 관리 작업은 서버 쪽에서만 수행할 수 있습니다. |
|
Use |
For tunneling connections via SSH, a port number is required for tunneling via HTTPS. The port number used by default is 1233. To overwrite it, inside the container, you can add a custom port numbers greater than 1024 to /etc/rhn/rhn.conf:
ssh_push_port_https = high_port
After changing this configuration parameter you must restart services such as salt-secrets-config.service, tomcat.service, and taskomatic.service. To cover all needed services, it is the best to restart the SUSE Multi-Linux Manager Server as root. Outside of the container, from the container host, enter:
mgradm restart
보안상의 이유로 sudo를 SSH와 함께 사용해 루트 권한 대신에 권한 없는 사용자로 시스템에 액세스하고 싶을 때가 있을 수 있습니다.
-
각 클라이언트 시스템에서 적절한 권한 없는 사용자를 생성합니다.
-
On each client system, edit the
sudoersfile:sudo visudo
-
Grant
sudoaccess to the user by adding this line at the end of thesudoersfile. Replace<user>with the name of the user that is bootstrapping the client in the Web UI:<user> ALL=NOPASSWD: /usr/bin/python3, /var/tmp/venv-salt-minion/bin/python
This procedure grants root access without requiring a password, which is required for registering the client. When the client is successfully installed it runs with root privileges, so the access is no longer required. We recommend that you remove the line from the
sudoersfile after the client has been successfully installed. -
Inside the SUSE Multi-Linux Manager Server container, edit the
/etc/rhn/rhn.confconfiguration file, and add or amend this line to include the unprivileged username:ssh_push_sudo_user = <user>
After changing this configuration parameter you must restart services such as salt-secrets-config.service, tomcat.service, and taskomatic.service. To cover all needed services, it is the best to restart the SUSE Multi-Linux Manager Server as root. Outside of the container, from the container host, enter:
mgradm restart
이러한 클라이언트를 SUSE Multi-Linux Manager 서버에 등록하려면 Web UI 또는 API를 사용해야 합니다.
시작하기 전에 SSH 터널링에 사용할 포트를 지정했는지 확인해야 합니다. 포트 번호를 변경하기 전에 클라이언트를 등록한 경우, 다시 활성화 키를 사용하여 다시 등록해야 합니다.
-
부트스트래핑에 대한 자세한 내용은 부트스트랩 스크립트로 클라이언트 등록에서 확인할 수 있습니다.
-
부트스트래핑에 대한 자세한 내용은 client-configuration:activation-keys.adoc#activation-keys-reactivation에서 확인할 수 있습니다.
You can use the API to manage which contact method to use. This example Python code sets the contact method to ssh-push-tunnel.
client = xmlrpclib.Server(MLM_HOST + "/rpc/api", verbose=0)
key = client.auth.login(MLM_LOGIN, MLM_PASSWORD)
client.system.setDetails(key, 1000012345, {'contact_method' : 'ssh-push-tunnel'})
유효한 값은 다음과 같습니다.
-
default(풀) -
ssh-push -
ssh-push-tunnel