我使用WSL运行Windows 10。我在一台计算机上具有所需的行为,但是无法在其他计算机上复制。这是我的追求:
我尝试过的事情:
eval $(ssh-agent)
,后跟ssh-add
;它会记住该密码,但是如果我将其放在~/.bash_profile
中,那么它将提示我输入每个新的控制台窗口,并且打开很多-很多我没有使用git in。git config --global credential.helper
设置为cache
或store
bash.exe
和wsl.exe
来使git-credentials-manager.exe
工作以下是我在~/.gitconfig
中添加的内容的一个示例:
[credential]
helper = "/mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
我已经安装了here中的git credential manager
,还尝试了Git For Windows的主要安装。
我如何鼓励它记住我的密码?
答案 0 :(得分:6)
我尝试了将AddKeysToAgent yes
添加到~/.ssh/config
的选项,但是并没有将其保留在终端上的新标签之间。
到目前为止,我发现的最佳解决方案是执行以下操作:
sudo apt install keychain
使用终端查找主机名:
hostname
然后将以下内容添加到您的~/.bashrc
或~/.zshrc
文件中:
/usr/bin/keychain --nogui ~/.ssh/id_rsa
source $HOME/.keychain/YOUR-HOSTNAME-HERE-sh
现在,每次重新启动时,都必须输入密码。但是您只需这样做一次,直到重新启动或终止WSL。
如果您要使用Windows上已经拥有的相同密钥,则可以按照本文Sharing SSH keys between Windows and WSL 2
进行操作。答案 1 :(得分:3)
我找到了答案!
首先,通过将version: '2'
services:
hdshortvideo-app:
image: path of image
environment:
# - _JAVA_OPTIONS=-Xmx512m -Xms256m
- SPRING_PROFILES_ACTIVE=prod,swagger
- SPRING_DATA_MONGODB_URI=mongodb://hdshortvideo-mongodb:27017
- SPRING_DATA_MONGODB_DATABASE=shortvideo
- JHIPSTER_SLEEP=30 # gives time for the JHipster Registry to boot before the application
- SPRING_DATA_JEST_URI=http://hdshortvideo-elasticsearch:9200
hdshortvideo-mongodb:
extends:
file: mongodb.yml
service: hdshortvideo-mongodb
version: '2'
services:
hdshortvideo-mongodb:
image: mongo:3.6.3
environment:
- MONGO_INITDB_ROOT_USERNAME=james
- MONGO_INITDB_ROOT_PASSWORD=xxxx
ports:
- "27017:27017"
volumes:
- ~/volumes/HDShortVideo/mongodb/:/data/db/
添加到ssh-agent
中,确保您一直在eval $(ssh-agent)
上运行。
然后将.bash_profile
添加到您的ssh配置中:
AddKeysToAgent yes
第一次执行ssh时会提示您,但是密码短语会自动添加到touch ~/.ssh/config
chmod 600 ~/.ssh/config
echo "AddKeysToAgent yes" >> ~/.ssh/config
中,因此您无需再次输入密码即可结束会话并开始新的会话。
答案 2 :(得分:1)
我在WSL 2的先前答案(以及其他地方找到的其他方法)中尝试了这两种方法,但它们要么无效,要么有我无法忍受的警告。这就是对我有用的。
安装keychain:
sudo apt install keychain
然后将以下行添加到您的Shell的配置文件中(可能是~/.bashrc
或~/.zshrc
):
eval `keychain --quiet --eval --agents ssh id_rsa`
现在,您只需在启动WSL时输入密码!
感谢Birk Holland的this article。