상황은 다음과 같습니다.
내 모든 작업은 Mac에서 이루어집니다.
특정 리눅스 서버가 있습니다'서버 01'다른 Linux 서버에 대한 액세스 제공'서버 02' 의사 터미널을 통해
그래서 ssh로 '서버 02', 저는 Mac에서 다음을 수행합니다.
ssh -t server01 'inline server02'
그러더니 비밀번호를 물어보더라구요'서버 01';입력하면 로그인이 됩니다'서버 02'. 나는 지금 '에 있다'서버 02'단말기.
에서'서버 02'mysql 데이터베이스에 액세스할 수 있습니다'서버 03' 다음 mysql 명령을 사용하십시오.
mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
어느 것도 아니다'서버 01'도 아니다'서버 02'내 Mac에도 SSH 액세스 권한이 없습니다.'서버 03'
이제 '에서 mysql에 액세스하고 싶습니다.서버 03일종의 포트 전달을 통해 내 Mac에서 직접 연결됩니다. 따라서 Mac 터미널에 다음 명령을 입력하면 '에 있는 mysql 데이터베이스에 연결되어야 합니다.서버 03':
mysql --host=localhost --port=4201 --user=myuser --password=mypass mydb
이를 수행할 수 있는 방법이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.
답변1
server01에서 server02로 SSH를 통해 연결할 수 있다면 시도해 볼 수 있습니다.
ssh -t -L server02:4201 server01 'ssh -N -L server03:4201 server02'
체인 링크가 될 거예요
로컬 호스트: 4201 -> server02:4201 -> server03:4201
포트에 로컬로만 연결4201Apple 컴퓨터에서
비밀번호를 입력하지 않으려면 ssh-agent와 함께 키 인증을 사용하는 것이 좋습니다.