Linux下SVN客戶端保存賬號密碼

參考文章:解決:Linux上SVN 1.12版本以上無法直接存儲明文密碼_linux svn 保存密碼-CSDN博客
新版本svn使用gpg-agent存儲密碼-CSDN博客
svn之無法讓 SVN 存儲密碼,即使配置設置為允許_編程設計_ITGUEST

方法一:明文方式保存密碼

首次執行svn check或svn update等命令后,會在系統用戶目錄下生成.subversion目錄,并在.subversion/auth/svn.simple目錄下生成SVN用戶的配置文件,比如:cdf4a82409609b47a18c1b93ad8db39c,文件內容如下:

steven@ubuntu2204:~$ cat "~/.subversion/auth/svn.simple/cdf4a82409609b47a18c1b93ad8db39c"
K 8
passtype
V 9
gpg-agent
K 15
svn:realmstring
V 52
<https://192.168.121.240> Subversion Repository
K 8
username
V 6
steven
END

修改.subversion/auth/svn.simple/cdf4a82409609b47a18c1b93ad8db39c文件,如下:

steven@ubuntu2204:~$ vi "~/.subversion/auth/svn.simple/cdf4a82409609b47a18c1b93ad8db39c"
steven@ubuntu2204:~$ cat "~/.subversion/auth/svn.simple/cdf4a82409609b47a18c1b93ad8db39c"
K 8
passtype
V 6
simple
K 15
svn:realmstring
V 52
<https://192.168.121.240:5443> Subversion Repository
K 8
username
V 6
steven
K 8
password
V 7
pwd1234
END

修改說明:
1.文件中K表示關鍵字,V表示鍵值,后面的數字表示下一行字符串的長度。
2.將密碼保存方式由gpg-agent改為simple(明文)
3.添加steven用戶密碼: pwd1234

需要注意的是:若是換個SVN用戶名后這個文件會被改寫,以上手動修改的信息會被覆蓋,需要從再手動修改。

方式二:gpg-agent加密保存

gpg-agent是一個密碼管理工具,具體說明查看官網信息。
https://www.gnupg.org/

1.安裝gpg-agent:

steven@ubuntu2204:~$ sudo apt-get install gpg-agent
gpg-agent (GnuPG) 2.2.27
libgcrypt 1.8.8
Copyright (C) 2021 Free Software Foundation, Inc.
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

2.添加環境變量:

修改shell初始化腳本,添加GPG_TTY和GPG_AGENT_INFO兩個環境變量。并使用source命令讓其立即生效。

steven@ubuntu2204:~$ vi ~/.bashrc
steven@ubuntu2204:~$ cat ~/.bashrc
... ...
export GPG_TTY=$(tty)
export GPG_AGENT_INFO=`gpgconf --list-dirs agent-socket | tr -d '\n' && echo -n ::`
steven@ubuntu2204:~$ source ~/.bashrc

3.配置gpg-agent

steven@ubuntu2204:~$ vi "~/.gunpg/gpg-agent.conf"
steven@ubuntu2204:~$ cat "~/.gunpg/gpg-agent.conf"
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ gpg-agent configuration (~/.gnupg/gpg-agent.conf)                         ║
# ║                                                                           ║
# ║ Note:                                                                     ║
# ║ After changing the configuration, reload the agent:                       ║
# ║   $ gpg-connect-agent reloadagent /bye                                    ║
# ╚═══════════════════════════════════════════════════════════════════════════╝# Time a cache entry is valid (in seconds) default: 600
# Each time a cache entry is accessed, the entry's timer is reset
default-cache-ttl 172800# Set the maximum time a cache entry is valid to n seconds.
# After this time a cache entry will be expired even if it has been accessed recently.
# The default is 2 hours (7200 seconds).
max-cache-ttl 604800steven@ubuntu2204:~$ gpg-connect-agent reloadagent /bye

4.刪除舊的SVN賬號信息

steven@ubuntu2204:~$ rm -rf ~/.subversion

5.執行效果

steven@ubuntu2204:~$ svn update svntest
Updating 'steven.hu/svntest':
Error validating server certificate for 'https://192.168.121.240':- The certificate is not issued by a trusted authority. Use thefingerprint to validate the certificate manually!- The certificate hostname does not match.
Certificate information:- Hostname: xxxx- Valid: from Mar 24 14:32:41 2020 GMT until Mar 22 14:32:41 2030 GMT- Issuer: xxx- Fingerprint: xxx
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Authentication realm: <https://192.168.121.240> Subversion Repository
Password for 'steven': ┌─────────────────────────────────────────────────────────────────────────────────────────┐
│ Enter your Subversion password for <https://192.168.121.240:5443> Subversion Repository │
│                                                                                         │
│ Password for 'steven':  ******_________________________________________________________ │
│                                                                                         │
│             <OK>                                                     <Cancel>           │
└─────────────────────────────────────────────────────────────────────────────────────────┘At revision 39.
steven@ubuntu2204:~$ svn update svntest
Updating 'svntest':
At revision 39.
steven@ubuntu2204:~$ 

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62873.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62873.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62873.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

負載均衡oj項目:介紹

目錄 項目介紹 項目演示 項目介紹 負載均衡oj是一個基于bs模式的項目。 用戶使用瀏覽器向oj模塊提交代碼&#xff0c;oj模塊會在所有在線的后端主機中選擇一個負載情況最低的主機&#xff0c;將用戶的代碼提交給該主機&#xff0c;該主機進行編譯運行&#xff0c;將結果返回…

gateway 微服務的入口-筆記

本文屬于b站圖靈課堂springcloud筆記系列。講的好還不要錢&#xff0c;值得推薦。 為什么需要API網關&#xff1f; 客戶端多次請求不同的微服務&#xff0c;會增加客戶端代碼和配置的復雜性&#xff0c;維護成本比價高認證復雜&#xff0c;每個微服務可能存在不同的認證方式&…

vue2+element-ui實現多行行內表格編輯

效果圖展示 當在表格中點擊編輯按鈕時:點擊的行變成文本框且數據回顯可以點擊確定按鈕修改數據或者取消修改回退數據: 具體實現步驟 1. 行數據定義編輯標記 行數據定義編輯標記 當在組件中獲取到用于表格展示數據的方法中,針對每一行數據添加一個編輯標記 this.list.f…

安卓主板_MTK聯發科android主板方案

在當前智能設備的發展中&#xff0c;安卓主板的配置靈活性和性能優化顯得尤為重要。安卓主板的聯發科方案&#xff0c;在芯片上&#xff0c;搭載聯發科MTK6761、MT8766、MT6765、MT6762、MT8768、MT8390、MTK8370以及MT8788等型號&#xff0c;均基于64位的四核或八核架構設計。…

如何破解“不會寫作”的煩惱

在人生的諸多煩惱中&#xff0c;有一種煩惱或許不那么顯眼&#xff0c;卻常常如影隨形&#xff0c;讓人倍感困擾——那就是不會寫作的煩惱。這不僅僅是對那些以寫作為生的人而言&#xff0c;對于每一個需要在學習、工作或生活中以文字表達思想、情感的人來說&#xff0c;不會寫…

虛幻5描邊輪廓材質

很多游戲內都有這種描邊效果&#xff0c;挺實用也挺好看的&#xff0c;簡單復刻一下 效果演示&#xff1a; Linethickness可以控制輪廓線條的粗細 這樣連完&#xff0c;然后放到網格體細節的覆層材質上即可 可以自己更改粗細大小和顏色

修改docker源

在/etc/docker/daemon.json文件中寫入 { "registry-mirrors": [ "Welcome to nginx!" ] } 執行 systemctl daemon-reload systemctl restart docker docker info能夠看到源已經被替換 現在國內能夠使用的docker源經過測試只有Welcome to nginx! …

【JavaEE】網絡(2)

一、網絡編程套接字 1.1 基礎概念 【網絡編程】指網絡上的主機&#xff0c;通過不同的進程&#xff0c;以編程的方式實現網絡通信&#xff1b;當然&#xff0c;我們只要滿足進程不同就行&#xff0c;所以即便是同一個主機&#xff0c;只要是不同進程&#xff0c;基于網絡來傳…

RANS(Reynolds-Averaged Navier-Stokes) 湍流模型類型

RANS&#xff08;Reynolds-Averaged Navier-Stokes&#xff09; 湍流模型有多種不同的類型&#xff0c;除了標準的 kkk-ω 湍流模型&#xff0c;還有其他一些常用的湍流模型。RANS 模型的核心思想是對 Navier-Stokes 方程進行 雷諾平均&#xff0c;通過將流動場的瞬時變量分解為…

JS中this的值詳細講解以及面試指向練習

this 的值取決于它出現的上下文&#xff1a;函數、類或全局。 在函數內部&#xff0c;this 的值取決于函數如何被調用&#xff0c;this 是語言在函數體被執行時為你創建的綁定 對于典型的函數&#xff0c;this 的值是函數被訪問的對象。換句話說&#xff0c;如果函數調用的形…

2024年河南省高等職業教育技能大賽 大數據分析與應用賽項競賽方案

2024年河南省高等職業教育技能大賽 大數據分析與應用賽項競賽方案 一、賽項名稱 賽項名稱&#xff1a;大數據分析與應用 賽項編號&#xff1a;HN033 賽項組別&#xff1a;專業核心基本技能賽項 專業大類&#xff1a;電子與信息等 競賽形式&#xff1a;學生組&#xff08;團體賽…

vue繞過rules自定義編寫動態校驗

今天犯了個低級錯誤&#xff0c;雖然走了很多彎路&#xff0c;但這個過程還是值得記錄一下 例子如下&#xff0c;有兩個輸入框&#xff1a; 第一個是套餐選擇下拉框&#xff0c;可以下拉選擇三個內容 第二個要根據上面的套餐選擇三個選項來決定怎么顯示&#xff0c;使用v-if&…

數字化招聘系統如何幫助企業實現招聘效率翻倍提升?

眾所周知&#xff0c;傳統的招聘方式已經難以滿足現代企業對人才的需求&#xff0c;而數字化招聘系統的出現&#xff0c;為企業提供了全新的解決方案。通過數字化招聘系統&#xff0c;企業可以自動化處理繁瑣的招聘流程&#xff0c;快速篩選合適的候選人&#xff0c;從而大幅提…

短視頻矩陣源碼開發部署全流程解析

在當今的數字化時代&#xff0c;短視頻已成為人們娛樂、學習和社交的重要方式。短視頻矩陣系統的開發與部署&#xff0c;對于希望在這一領域脫穎而出的企業和個人而言&#xff0c;至關重要。本文將詳細闡述短視頻矩陣源碼的開發與部署流程&#xff0c;并附上部分源代碼示例&…

華為云云原生中間件DCS DMS 通過中國信通院與全球IPv6測試中心雙重能力檢測

近日&#xff0c;中國信息通信研究院&#xff08;以下簡稱“中國信通院”&#xff09;與全球IPv6測試中心相繼宣布&#xff0c;華為云的分布式緩存服務&#xff08;Distributed Cache Service&#xff0c;簡稱DCS&#xff09;和分布式消息服務&#xff08;Distributed Message …

關閉WPS在線功能資源和功能推薦

Kingsoft\WPS Office\12.1.0.18912\office6 選擇 【高級】 點擊 【確定】

Polars數據聚合與旋轉實戰教程

在這篇博文中&#xff0c;我們的目標是解決數據愛好者提出的一個常見問題&#xff1a;如何有效地從Polars DataFrame中創建匯總視圖&#xff0c;以便在不同時間段或類別之間輕松進行比較。我們將使用一個實際的數據集示例來探索實現這一目標的各種方法。 Polars簡介 Polars 是…

2024154讀書筆記|《帶著詩歌上街去》——我不長葉子,不開花,也不必要什么結果

2024154讀書筆記|《帶著詩歌上街去》——我不長葉子&#x1f33f;&#xff0c;不開花&#x1f33c;&#xff0c;也不必要什么結果 《帶著詩歌上街去》作者隔花人&#xff0c;作者很有巧思&#xff0c;在拍攝的照片上做詩&#xff0c;詩不是很有感覺&#xff0c;但是在墻上、風景…

建立基于TCP的客戶端和服務端

函數介紹&#xff1a; 1.socket() 作用&#xff1a;創建套接字 domain: AF_INET&#xff1a;IPv4 Internet 協議族。AF_INET6&#xff1a;IPv6 Internet 協議族。AF_UNIX&#xff1a;Unix 域協議族&#xff0c;用于在同一臺主機上的進程間通信。 type: SOCK_STREAM&#xff1a…

CNCF云原生生態版圖-分類指南(三)- 運行時

CNCF云原生生態版圖-分類指南&#xff08;三&#xff09;- 運行時 CNCF云原生生態版圖-分類指南三、運行時&#xff08;Runtime&#xff09;&#xff08;一&#xff09;云原生存儲&#xff08;Cloud Native Storage&#xff09;1. 是什么&#xff1f;2. 解決什么問題&#xff1…