두 개의 원격 Linux 시스템 간의 연결

두 개의 원격 Linux 시스템 간의 연결

두 대의 원격 컴퓨터가 있고 그 중 하나에서 스크립트를 실행하고 있습니다.
스크립트의 일부 부분은 다른 부분에서 실행되어야 하며 그런 다음 스크립트는 추가 작업/명령을 계속 수행합니다.
어떤 이유로 ssh-without-password연결할 수 없으며 비밀번호 프롬프트가 표시되는 것도 원하지 않습니다.

참고: 저는 그들 사이에 마운트를 공유했습니다.

답변1

SSH 비밀번호 프롬프트를 피하세요.

sudo apt-get install sshpass

패키지 설치를 위한 대체 도구는 다음과 같습니다.dpkg

sshpassdeb 패키지 다운로드

그리고 설치하세요:

sudo dpkg -i sshpass_1.04-1_amd64.deb

사용 패턴은 다음과 같습니다.

sshpass -p mypassword ssh user@server

sudo비밀번호 프롬프트를 피해야 하는 경우 :

ssh [email protected] "echo sudo_password | sudo -S ./script.sh"

마지막에 대한 설명은 다음과 같습니다. ssh 후에 실행하면 원격 서버에 비밀번호를 입력하지 않으므로 sudo해결책은 -S를 사용하고 위와 같이 비밀번호를 sudo로 파이프하는 것입니다.sudo

답변2

비밀번호 없이 로그인하려면 비밀번호를 만들어야 합니다 SSH Keygen.

이 주제와 수행 방법에 대한 자세한 내용은 다음을 참조하세요.

https://help.github.com/articles/generate-ssh-keys.

답변3

a. 먼저 사용자 a로 A에 로그인하고 인증 키 쌍을 생성합니다.

b. 이제 ssh를 사용하여 B에 사용자 b로 ~/.ssh 디렉터리를 만듭니다. (디렉토리가 이미 존재할 수도 있지만 괜찮습니다.)

ssh b@B mkdir -p .ssh

b@B의 비밀번호

씨. 마지막으로 a의 새 공개 키를 b@B:.ssh/authorized_keys에 추가하고 마지막으로 b의 비밀번호를 입력하세요.

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'

b@B의 비밀번호: d. ssh b@B 이제 B서버의 비밀번호를 입력할 필요가 없습니다.

관련 정보