Atlassian Stash のホストされたインスタンスに git リポジトリがあります。次に、ソフトウェア システムの最新リリースをデプロイする 3 台のマシン (olympus、zeus、hera) を使用します。これを自動化するために、オリンパスから他のマシンにリモートで展開したいと思いますssh
がgit pull
、これはPermission denied (publickey).
. 私は基本的にやります:
azg@olympus:~$ ssh azg@zeus 'cd ~/my/project/release/deploy/location/; git pull'
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
私は次のものを持っています:
- すべてのマシンには異なる azg ユーザーがいる (LDAP などをインストールする時間がなかった) ため、azg@olympus、azg@zeus、および azg@hera があります。各ユーザーに対して、ssh id_rsa キー ペアを生成しました。
- 各 azg ユーザー
authorized_keys
に、対応する他のユーザーの id_rsa.pub を入力しました Stash azg ユーザーは、すべての azg ユーザー (azg@olympus、azg@zeus、azg@hera) のすべての id_rsa.pub のコピーで構成されているため、毎回パスワードを入力することなく、ssh を介してすべてのマシンからクローン、プル、またはプッシュできます。 . したがって、私は何の問題もありません:
azg@olympus:~/code$ git clone ssh://azg@olympus:7999/pm/pm.git Cloning into 'pm'... remote: Counting objects: 555, done. remote: Compressing objects: 100% (271/271), done. remote: Total 555 (delta 203), reused 555 (delta 203) Receiving objects: 100% (555/555), 9.54 MiB, done. Resolving deltas: 100% (203/203), done.
各マシンから個別に同じことができます。ただし、最初にリモートでログインすると、それを実行できません。つまり、キー「/home/azg/.ssh/id_rsa」のパスフレーズを毎回要求されます。
azg@olympus:~$ ssh azg@zeus
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.5.0-43-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Wed Nov 27 17:01:33 2013 from olympus
azg@zeus:~$ cdc
azg@zeus:~/code$ git clone ssh://azg@olympus:7999/pm/pm.git
Cloning into 'pm'...
Enter passphrase for key '/home/azg/.ssh/id_rsa': <<<<<<<<<<< WHY???
remote: Counting objects: 555, done.
remote: Compressing objects: 100% (271/271), done.
remote: Total 555 (delta 203), reused 555 (delta 203)
Receiving objects: 100% (555/555), 9.54 MiB | 145 KiB/s, done.
Resolving deltas: 100% (203/203), done.