以下のスクリプトでは、入力を待たずpasswd
にエラーメッセージで終わります。
$ sudo ssh -i crowdpersona_key [email protected] bash -c ' git clone [email protected]/test1/crowdpersona.git && cd crowdpersona && mkdir attachments'
Error message : fatal: could not read Password for 'https://[email protected]': No such device or address
答え1
ssh コマンドでは -i を使用する必要がないか、使用したくありません。
-i公開鍵認証に使用されるID(秘密鍵)を読み取るファイルを選択します。
バラより
man ssh
あなたのコマンドは動作します:
sudo ssh [email protected] bash -c ' git clone https://[email protected]/test1/crowdpersona.git && cd crowdpersona && mkdir attachments'
答え2
[email protected]/test1/crowdpersona.git
有効なGitHubプロジェクトのURLではない可能性があります。[email protected]:user/project.git
SSH経由のGitと連携するか、https://github.com/user/project.git
HTTPS経由のGitと連携します。存在しないプロジェクトURIが表示された場合、GitHubは認証を要求します(個人リポジトリを見つけるため)。
$ git clone https://github.com/foo/bar.git
Cloning into 'bar'...
Username for 'https://github.com':
TTYが割り当てられていないため、コマンドgit
はパスワードまたはユーザー名を読み取ることができません。
$ git clone https://github.com/foo/bar.git
Cloning into 'bar'...
Username for 'https://github.com': ^C
$ ssh localhost git clone https://github.com/foo/bar.git
Cloning into 'bar'...
fatal: could not read Username for 'https://github.com': No such device or address
解決策は通常、正しいプロジェクトURIを使用することです。