curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"personal_newAccount","params":["passphrase"],"id":42}' eth_node_ip:8545
curl --data '{"method":"parity_allAccountsInfo","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545
curl --data '{"method":"parity_testPassword","params":["*account address*","*account_password*"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545
To export an account you need to know the passphrase for the account you want to export Export is done in JSON format. You can then save this JSON into a file and import it to Metamask.
curl --data '{"method":"parity_exportAccount","params":["*account address*","*account_password*"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545 | jq -c .result
This will return the json that has to be saved to a file.
curl --data '{"method":"parity_changePassword","params":["*accout address*","*old_password*", "*new_password*"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545
All wallet private keys in Parity are stored at ~/.local/share/io.parity.ethereum/keys/*network_name*
with each key stored in a separate JSON file.
The most convenient way to back up Parity nodes is by using a cronjob to upload all keys to a secure Object Storage bucket(S3, GCS, etc.)
An example script to accomplish this would be:
#!/bin/bash
set -e
BUCKET_NAME="gs://example/crypto-backup"
BACKUP_PATH="/home/parity/.local/share/io.parity.ethereum/keys/ethereum"
GOOGLE_CREDENTIALS="~/safe/gcs-backup-key.json"
gsutil -m cp -r ${BACKUP_PATH} ${BUCKET_NAME}/parity_keys