Remminaを使用してRDPを介してコンピュータにどのように接続しますか?私はこれができることを理解しています:
remmina -c "rdp://[email protected]"
しかし、望ましくないパスワードを入力する必要があります。
Remminaは次の形式もサポートしているようです。
remmina -c rdp://username:encrypted-password@server
しかし、私のBashスクリプトは完全に自動化する必要があり、対話なしでパスワードを暗号化する方法を見つけることができません。それに加えて、パスワード暗号化は必ずしも利用可能かどうかわからない他のシステムサービスに依存しているようです。remmina --encrypt-password
初めて実行すると、次のメッセージのみが印刷されます。
Load modules from /usr/lib64/remmina/plugins
Remmina plugin glibsecret (type=Secret) has been registered, but is not yet initialized/activated. The initialization order is 2000.
The glibsecret secret plugin has been initialized and it will be your default secret plugin
パスワードを暗号化する代わりに。
また、これに対するプロファイルの作成を避けたいと思います。
ところで、パスワードを暗号化することは、重要ではないVMへのローカル接続にのみ使用されるため、役に立ちません。私がパスワードを使用する唯一の理由は、WindowsがパスワードなしのRDPを許可しないためです。
編集する:
これまで私が考えることができる最善の方法は次のとおりです。
RDP_USER=Administrator
RDP_PASSWORD=admin
RDP_HOST=192.168.122.2
# Run it once because the first time it prints a useless message instead of actually encrypting
echo "$RDP_PASSWORD" | remmina --encrypt-password &>/dev/null
# Run it again, hoping it always works the second time
ENCRYPTED_PASSWORD="$(echo "$RDP_PASSWORD" | remmina --encrypt-password | grep 'Encrypted password: ' | cut -d':' -f2- | tr -d ' ')"
remmina -c "rdp://${RDP_USER}:${ENCRYPTED_PASSWORD}@${RDP_HOST}"
答え1
RemminaはDBUSを使用して、説明に従って実行されている他のインスタンスと通信します(アプリケーショントレイの確認)。別のセッションで実行してみてください。
dbus-run-session remmina --encrypt-password <<< "password"
DBUSとの接続が失われた場合でも:
DBUS_SESSION_BUS_ADDRESS= remmina --encrypt-password <<< "password"
グラフィカル環境を実行せずにopensslを使用してこれを実行することもできます。バラよりこの回答。