두 서버 간의 SSH 터널링

두 서버 간의 SSH 터널링

보안 MySQL 복제를 위해 두 VPS 사이에 SSH 터널을 생성하려고 합니다. 다음 단계를 따릅니다(1단계: SSH 터널링 설정만 읽기). https://www.digitalocean.com/community/tutorials/how-to-secure-mysql-replication-using-ssh-on-a-vps 두 서버 모두 Ubuntu 14.04 OS를 사용합니다. 슬레이브 시스템에서 터널을 생성하려고 할 때 다음을 실행하면 문제가 발생합니다.

ssh -L 33061:localhost:3306 [email protected] -f -N

나는 다음과 같은 응답을 받았습니다.

This account is currently not available.

몇 가지 테스트를 해봤습니다. 슬레이브에서 마스터로 연결하려고 하면

ssh '[email protected]' //before to execute: usermod -s /sbin/nologin tunneluser

작동하므로 키가 정확합니다. 문제는 이 단계인 것 같습니다.

usermod -s /usr/sbin/nologin tunneluser

처음 시도했을 때는 제대로 작동했지만 다시 재현할 수 없습니다. 내 VPS와 동일한 이미지를 사용하고 있으며 동일한 단계를 따르며 환경에는 차이가 없습니다. 어떤 클라우드가 문제입니까?

답변1

따르고 있는 지침에서 다음과 같은 줄을 놓쳤습니다.

Debian 및 Ubuntu 사용자는 /sbin/nologin을 /usr/sbin/nologin으로 바꿉니다.

따라서 귀하의 Tunneluser 계정에는 유효한 쉘이 없으므로 로그인할 수 없습니다.

답변2

내 실수를 발견했습니다!

문제는 MS Word에 있었습니다. 모든 명령을 doc 파일에 저장하고 복사하여 붙여넣었습니다. MS Word는 경우에 따라 일반 -을 더 길게 변환합니다. 따라서 이 긴 대시는 마지막 명령을 깨뜨립니다.

ssh -L 33061:localhost:3306 [email protected] -f -N

세상에, 그거 때문에 8시간을 잃었어요!

관련 정보