보안 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시간을 잃었어요!