उपयोगकर्ता नाम और पासवर्ड के लिए FreeRDP शीघ्र उपयोगकर्ता बनाएं?


13

फिलहाल, मैं FreeRDP सत्र शुरू करने के लिए निम्नलिखित कमांड का उपयोग कर रहा हूं:

$ sudo xfreerdp /v:farm.company.com /d:company.com \
    /u:oshiro /p:oshiro_password /g:rds.company.com

ठीक काम करता है। हालाँकि, मैं नहीं चाहता कि पासवर्ड उसी तरह कमांड लाइन में हो। इसलिए मैंने इसे पासवर्ड के बिना आज़माया:

$ sudo xfreerdp /v:farm.company.com /d:company.com /u:oshiro /g:rds.company.com

और मुझे कुछ प्रकार के डायलॉग बॉक्स के बजाय एक कनेक्शन विफलता संदेश मिला या मुझे एक पासवर्ड दर्ज करने के लिए कहा गया।

क्या पासवर्ड के लिए उपयोगकर्ता को संकेत देना संभव है?


अद्यतन: /pस्विच को स्वीकार करना

/pस्विच के बिना , मुझे निम्नलिखित मिलते हैं:

oshiro@ubuntu:~$ xfreerdp /v:farm.company.com /d:company.com -u:oshiro /g:rds.company.com
connected to rds.company.com:443
connected to rds.company.com:443
Could not open SAM file!
Could not open SAM file!
Could not open SAM file!
Could not open SAM file!
rts_connect error! Status Code: 401
HTTP/1.1 401 Unauthorized
Content-Type: text/plain
Server: Microsoft-IIS/7.5
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="rds.company.com"
X-Powered-By: ASP.NET
Date: Sun, 23 Mar 2014 10:40:30 GMT +12
Content-Length: 13

rts_connect error!
rpc_connect failed!
Error: protocol security negotiation or connection failure

आपके पास xfreerdp का कौन सा संस्करण है? Freerdp-x11 1.0.1 के साथ डेबियन व्हीज़ी में, जहां तक ​​मैं स्रोत से बता सकता हूं (मेरे पास कोई आरडीपी सर्वर चेक करने के लिए आसान नहीं है), एक पासवर्ड प्रॉम्प्ट है।
गिल्स एसओ- बुराई को रोकना '

मेरे पास संस्करण 1.2.0-beta1 है।
oshirowanen

2
क्यों बिल्ली आप उपयोग कर रहे हैं sudo?
मिकीबी

जवाबों:


14

ट्रिक आपकी कमांड लाइन के अंत में पासवर्ड स्विच लगा रही है ताकि आप इसे खाली छोड़ सकें। यह xfreerdpकमांड लाइन के माध्यम से प्रदान करने के बजाय पासवर्ड के लिए संकेत देने के लिए ट्रिगर होगा ।

उदाहरण

नया cli इंटरफ़ेस (v1.1 +)
$ xfreerdp /v:farm.company.com /d:company.com /u:oshiro /g:rds.company.com /p
पुराने cli इंटरफ़ेस (v1.0.2)
$ xfreerdp -u oshiro -d company.com farm.company.com -t 3389 -p

नोट: नया CLI पूर्व-रिलीज़, v1.1 + में उपलब्ध है, इसलिए इस बात पर विशेष ध्यान दें कि आप किस संस्करण का उपयोग कर रहे हैं। कमांड चलाने से xfreerdp --versionआपको दिखाई देगा कि कौन सा। प्रत्येक पर अधिक जानकारी के लिए विकी में रिलीज़ विषय पर एक नज़र डालें ।

नमूना कनेक्शन

यहाँ मुझे RDP सर्वर से कनेक्ट करने का एक उदाहरण है।

$ xfreerdp --ignore-certificate -u smingolelli -d mydom -t 5000 rdp.mydom.com -p
connected to rdp.mydom.com:5000
Password: 

उपयोगकर्ता को प्रेरित करना

FreeRDP समस्या ट्रैकर में यह समस्या शीर्षक: प्रॉम्प्ट फॉर क्रेडेंशियल - NLA # 1512 , के पास यह स्निपेट था कि आप zenityGUI संवादों का उपयोग करके उपयोगकर्ता नाम और पासवर्ड के लिए उपयोगकर्ता को संकेत देने के लिए कैसे उपयोग कर सकते हैं और फिर xfreerdpबाद में प्रदान किए गए के साथ चला सकते हैं ।

$ xfreerdp /v:yourRDSfarmFQDN \
/u:$(zenity \
--entry \
--title="Domain Username" \
--text="Enter your Username") \
/p:$(zenity \
--entry \
--title="Domain Password" \
--text="Enter your _password:" \
--hide-text) \
/d:yourdomainname \
/f \
/cert-ignore
+clipboard

जब ऊपर निष्पादित किया जाता है तो ये संवाद उपयोगकर्ता तक पहुंच जाएंगे। ये बारी-बारी से एक बार आएंगे।

                   ss # १         ss # 2

संदर्भ


1
इसके लिए धन्यवाद। हालाँकि, जब मैं कोशिश करता हूं xfreerdp /v:farm.company.com /d:company.com /u:oshiro /g:rds.company.com /p, तो यह मुझे केवल प्रलेखन और मेरे द्वारा उपयोग की जा सकने वाली सभी कमांड देता है। फिर जैसे ही मैंने पासवर्ड डालना pशुरू किया , उसके बाद यह काम करना शुरू कर देता है।
Ioshirowanen

@oshirowanen - यदि आप /pस्विच को एक साथ छोड़ देते हैं?
slm

त्रुटि एक टिप्पणी के रूप में पोस्ट करने के लिए बहुत लंबी थी, इसलिए मैंने त्रुटि संदेश के साथ मूल प्रश्न को अपडेट किया है।
१६:४३

@oshirowanen - ऐसा लगता है कि यह बग हो सकता है: github.com/FreeRDP/FreeRDP/issues/1584 । अपने जैसा ही आउटपुट दिखाता है। मैं FreeRDP के साथ एक मुद्दा खोलूंगा, अगर आपको यकीन नहीं है कि यह कैसे करना है तो मैं आगे LMK की सहायता कर सकता हूं।
slm

इसके बजाय zenity --entry --text="Enter your _password:" --hide-textआप बस कह सकते हैंzenity --password
user829755

7

मैं स्लम के समाधान पर विस्तार करना चाहता हूं । मैं सभी जानकारी दर्ज करने के लिए एक एकल खिड़की चाहता था और मुझे एक ही बार में एक RemoteApp निर्दिष्ट करने की अनुमति देता हूं, इसलिए मैंने जो कुछ भी बनाया है, उस पर ज़िनी के साथ सुझाव दिया और इसे बनाया।

XFreeRDP प्रॉम्प्ट

XFreeRDP-शीघ्र

कोड:

#!/bin/bash

# XFreeRDP RemoteApp W/ Prompt Script
# Version 0.3
# Description:
# XFreeRDP Remote App Script utilizing Zentity to populate variables
# Written by Jarrett Higgins 12-2015

OUTPUT=$(zenity --forms --title="Connection Information" \
    --text="Enter information about your Remote Connection" \
    --separator="," \
    --add-entry="Server" \
    --add-entry="Port (Default: 3389)" \
    --add-entry="Domain (Optional)" \
    --add-entry="Username" \
    --add-password="Password" \
    --add-entry="Remote App Name (Optional)")
OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
    echo "something went wrong"
    exit 1
fi
Blank=""
Server=$(awk -F, '{print $1}' <<<$OUTPUT)
Port=$(awk -F, '{print $2}' <<<$OUTPUT)
if ["$Port" = "$Blank"]
then
    Port="3389"
else
    Port="$Port"
fi
Domain=$(awk -F, '{print $3}' <<<$OUTPUT)
Username=$(awk -F, '{print $4}' <<<$OUTPUT)
Password=$(awk -F, '{print $5}' <<<$OUTPUT)
App=$(awk -F, '{print $6}' <<<$OUTPUT)
if ["$App" = "$Blank"]
then
    App="$App"
    Title="$Server"
else
    AppName="$App"
    Title="$AppName on $Server"
    App="/app:||$App"
fi
#zenity --info --title="Information Return" --text="$Server $Port $Domain $Username $Password $App"
xfreerdp /t:"$Title" /v:$Server:$Port /d:$Domain /u:$Username /p:$Password $App /cert-ignore /workarea +clipboard
Password=""

विशेषताएं:

  • 3389 पोर्ट करने के लिए चूक यदि आबादी नहीं है
  • अगर रिमोट नहीं है तो कोई रिमोट ऐप की कमी

नियोजित:

  • सुरक्षा प्रमाणपत्र चेतावनी
  • RDWeb क्वेरी संसाधन सूची प्रदान करने के लिए

मैं अपने कंपनी और वीएम रिमोट ऐप्स और क्लाइंट सर्वर से कनेक्ट करने के लिए अपने #! ++ लैपटॉप पर बड़ी सफलता के साथ इसका उपयोग करता हूं। मुझे स्क्रिप्टिंग का अनुभव नहीं है, इसलिए अगर किसी के पास कोई सुझाव या प्रतिक्रिया है, तो मैं उन्हें सुनना पसंद करूंगा।



1

आपको एक खाली पैरामीटर (पासवर्ड मान के बिना) की आपूर्ति करने की आवश्यकता है। इसे इस्तेमाल करे:

sudo xfreerdp /v:farm.company.com /d:company.com /u:oshiro /g:rds.company.com /p

यदि वह काम नहीं करता है, तो आप इसे सरल बैश स्क्रिप्ट के साथ पूरा कर सकते हैं।

इसे इस रूप में सहेजें rdp.sh:

#!/bin/bash
# Read Password
echo -n Password: 
read -s password
echo
# Run Command
sudo xfreerdp /v:farm.company.com /d:company.com /u:oshiro /g:rds.company.com /p:$password

फिर फ़ाइल निष्पादन योग्य बनाएं:

chmod +x rdp.sh

इसे लॉन्च करें:

./rdp.sh

यह xfreerdp के github मुद्दे पर अधिक अच्छी तरह से पूछा और चर्चा की गई है: https://github.com/FreeRDP/FreeRDP/issues/1358

बैश स्क्रिप्ट का विचार इससे लिया गया है: /programming/3980668/how-to-get-a-password-from-a-shell-script-without-echoing


यह उपयोगकर्ताओं के लिए पासवर्ड को उजागर करता है ps -ef
रीइन्टीरियरपोस्ट

1

मुझे निम्न शेल स्क्रिप्ट का उपयोग करते हुए, याड भी पसंद है।

#!/bin/sh
frmdata=$(yad --title "Connect to remote computer" --form --field="Remote computer" --field="Username" --field="Password:H" --field="Domain" --field="Gateway")
frmcomputer=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')
frmusername=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $2 }')
frmpassword=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $3 }')
frmdomain=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $4 }')
frmgateway=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $5 }')
xfreerdp /v:$frmcomputer /f /d:$frmdomain /u:$frmusername /g:$frmgateway /p:$frmpassword /cert-ignore

यह एक अच्छा इंटरफ़ेस प्रदान करता है, और पासवर्ड को छुपाता है।

यहाँ छवि विवरण दर्ज करें


0

आप --from-stdin का भी उपयोग कर सकते हैं। फिर आपको किसी भी आवश्यक मूल्यों के लिए संकेत दिया जाएगा जो प्रदान नहीं किए गए थे।

मुझे Jarretts समाधान पसंद है, लेकिन सनकीपन नहीं है, यह आपको कॉम्बो बॉक्स करने देता है:

OUTPUT=$(yad --center --button="gtk-ok:0" --title "Remote Desktop" --form \
--field="Server:CB" "rds1.domain.local\!rds2.domain.local\!rds3.domain.local" \
--field="Port" "3389" \
--field="Domain" "DOMAIN.local" \
--field="Username" "" \
--field="Password:H" \
--field="Remote App Name" "")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.