Docker 및 암호화 된 키
1 대답
- 투표
-
- 2019-02-03
예,소스 바이너리와 별도로tezos-signer를 실행 한 다음 docker 컨테이너에서 실행되는tezos-node에 연결하도록 할 수 있습니다. 이것이 당신이 할 수있는 방법입니다.
tezos-signer 서버에서tezos-signer 바이너리가 다운로드 된 디렉토리에서 다음 3 개의 명령을 실행합니다.
- tezos-signergen keys alice
- 고양이 ~/.tezos-signer/public_key_hashs
다음과 같이 출력됩니다. [{ "name": "alice","value": "tz1abc ..."}]
위의 "tz1abc ..."와 같은 공개 키 해시를 복사합니다.
- tezos-signer 실행 소켓 서명자 -a home-ip
어디 home-ip는tezos-signer가 실행중인 서버의 IP 주소입니다. 기본적으로 포트 7732를 사용합니다.
참고 : 위 명령은 서명자 데몬을 시작하기 위해 암호화 된 키의 비밀번호를 입력하라는 메시지를 표시합니다. 원격 서명자가 작동하려면 데몬을 계속 실행해야합니다. 따라서 백그라운드 서비스로 실행하는 것이 좋습니다. tmux 를 사용하는 것이 좋습니다.
이제 Docker가 실행중인 서버에서 다음 명령을 실행합니다.
1) ./mainnet.sh 클라이언트 가져 오기 비밀 키 alicetcp ://home-ip : 7732/tz1abc ...
어디
home-ip는 위의 3 번에서 사용한 것과 동일합니다.
tz1abc ...는 위의 2 번 지점에서 사용한 것과 동일한 공개 키 해시입니다.
위의 명령은 노래 서버에서 공개 키를 가져 오지만 개인 키는 여전히 서명 서버에 남아 있습니다. Docker 컨테이너에 저장된 개인 키 파일을 확인하면 개인 키 대신이 값이 저장됩니다. [{ "name": "alice", "값": "tcp ://home-ip : 7732/tz1abc ...."}]
컨테이너에서 실행중인 Baker는tezos-singer deamon이 실행 상태 여야하는 서명 서버에 연결하여 위의 값을 사용하여 서명 서버에서 자동으로 서명 된 트랜잭션을 가져옵니다.
정보 : Docker 컨테이너에 저장된 개인 키를 확인하려면 아래 프로세스를 사용하세요.
//컨테이너에서 쉘 모드로 들어가려면
- dockerexec -itmainnet_node_1/bin/sh
//Docker 컨테이너에서 키가 유지되는 디렉토리로 들어가기
-
cd/var/run/tezos/client/
-
고양이 secret_keys
Yes you can run tezos-signer separately from source binary and then let it connect to tezos-node running in docker container. This is how you can do it.
On tezos-signer server run following 3 commands from directory where tezos-signer binary is downloaded:
- tezos-signer gen keys alice
- cat ~/.tezos-signer/public_key_hashs
This will output something like this: [ { "name": "alice", "value": "tz1abc..." } ]
Copy your public key hash which looks like "tz1abc..." above.
- tezos-signer launch socket signer -a home-ip
where home-ip is IP address of your server where tezos-signer is running. By default it uses port 7732
NOTE: Above command will prompt for password for your encrypted key, to start the signer deamon. You need to keep your deamon running in order for remote signer to work. So it is recommended to run it as background service. I recommend using tmux to do that.
Now on server where your docker is running, run following commands:
1) ./mainnet.sh client import secret key alice tcp://home-ip:7732/tz1abc...
where
home-ip is same as used in point 3 above
tz1abc... is same public key hash used in point 2 above
Above command will import the public key from singing server, but private key still remains on signing server. If you check the private keys file stored in docker container you'll find instead of private key this value would be store [{ "name": "alice", "value": "tcp://home-ip:7732/tz1abc...." }]
Baker running in container will automatically get the transaction signed from signing server using the above value by contacting the signing server where tezos-singer deamon must be in running state.
INFO: To check private keys stored in docker container use below process:
// To enter the shell mode in container
- docker exec -it mainnet_node_1 /bin/sh
// To enter the directory where keys are maintained in docker container
cd /var/run/tezos/client/
cat secret_keys
-
후속 질문 : 서명자 데몬이 얼마나 많은 리소스를 소비합니까?원장으로 노트북 (배터리 백업)에서 실행하는 것을 고려하고 있습니다.노트북이 얼마나 튼튼 하냐고 ...?Followup question: How much resource would the signer daemon consume? I'm considering running it on a laptop (battery backup) with ledger. Wondering how beefy a laptop to get...?
- 0
- 2019-02-03
- asbjornenge
-
@asbjornenge : 새로운 질문으로 후속 질문을하는 것이 좋습니다.필요한 경우이 항목을 참조하십시오.@asbjornenge : probably good to ask your followup question as a new question. Feel free to reference to this one if you need to.
- 0
- 2019-02-03
- Ezy
-
@asbjornenge 서명자 데몬은 요청시 트랜잭션에 서명하는 것이므로 리소스를 많이 소비해서는 안됩니다.따라서 서명자 데몬을 실행하기 만하면 기본 단일 프로세서,2GB RAM,60GB 디스크 공간이 작동합니다.@asbjornenge signer daemon should not consume much of your resources as all it does is sign the transactions on request. So if all you want is to run a signer daemon on it, a basic single processor, 2GB RAM, 60GB disk space would work.
- 2
- 2019-02-04
- Sachin Tomar
-
네,감사합니다.즉,며칠 전에 푸시 된 새 업데이트에서도 작동합니까?나는mainnet.sh가 더 이상 작동하지 않는다는 것을 알았습니다 (적어도 나를 위해).Clear, thanks. That said, does this work with the new update pushed out a few days ago? I notice that mainnet.sh is no longer behaving (at least for me).
- 0
- 2019-02-07
- nurikabe
-
새 업데이트에서 잘못된 점을 찾지 못했습니다.내 설정이 잘 작동합니다.여전히 문제가있는 경우 새로운 질문에서 문제를 설명 할 수 있습니까?I don't find anything wrong with the new update. My setup is working fine. Can you elaborate your problem in a new question if you are still facing any problem?
- 0
- 2019-02-12
- Sachin Tomar
Docker 이미지 관리 스크립트 암호화 된 (비밀번호로 보호 된) 키를 사용합니까?
키를 보호하지 않으면 스크립트가 제대로 작동하는 것 같습니다.하지만 보호 된 키의 경우 Docker가 명령 줄에 암호를 입력하라는 메시지를 표시하는 방법이없는 것 같습니다.
tezos-signer
를 별도로 실행하고 제빵사 및 보증인 컨테이너가 이에 대해 이야기하도록 할 수 있습니까?