問題タブ [ssh-agent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - SSH_AUTH_SOCK が定義されていても、認証エージェントへの接続を開くことができませんでした
最初に ssh-agent を起動します
SSH_AUTH_SOCK
を実行して設定されていることを確認するとecho $SSH_AUTH_SOCK
、 が返されます/tmp/ssh-oCsFfHvR3345/agent.3345
。
しかし、実行するsudo ssh-add ~/.ssh/id_rsa
と、
しかもssd-add -l
返品The agent has no identities.
ubuntu - sshログインでパスワードを求められる
CentOS v6.2 で実行されているまったく同じターゲット マシンで、Macbook と別の Ubuntu マシンの両方から同じ一連の手順を実行しました。Macbook の ssh ログインなしは問題なく動作していますが、それでも Ubuntu サーバーはターゲット マシンにパスワードなしで接続できません。これが私がしたことです:
2-次に、Macbook と Ubuntu の ~/.ssh/config ファイルの両方にキー名を追加しました。
3-ターゲットマシン~/.ssh
と~/.ssh/authorized*
パーミッションを700/750に修正しました。
その他の情報:
Ubuntu ssh のバージョンは次のとおりです。
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
Macbook ssh のバージョンは次のとおりです。
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
ターゲットの CentOS v6.2 ssh バージョンは次のとおりです。
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
これは次の結果ですssh -v foo
。
なぜこれが起こっているのですか?
git - crontab の使用時に許可が拒否されました (publickey)
「git fetch」を実行するためにcronjobをセットアップしようとしています
ssh経由でgithubに接続するためのsshキーを正しく生成しました(公開キーをgithubアカウントに入れました)。コマンドラインで完璧に動作します。
(ssh-add を使用して秘密鍵を追加したので、github に接続するときにパスフレーズを 1 回だけ要求します)
しかし、crontab -e
(rootではなく通常のユーザーで)作成すると
次のエラーが表示されます。
cronジョブがキーを知らないようなものですか?
どうすればこれを機能させることができますか?
ありがとうございました
php - エージェント転送を使用した、ssh 経由のリモート サーバーでの自動化された git クローン
ssh エージェントを使用してリモート サーバーにログインするスクリプトがあります。次に、プライベート git リポジトリのクローンを作成しようとします。ただし、github にログインを許可させることはできません。
最後のものは機能します。ただし、サーバーにもキーが必要であり、これはむしろ避けたいと思います。
これを手動で行うと、機能します。
これを機能させるのは転送です。をスキップする-A
と、クローンは失敗します。
スクリプトでは、次のことを確認しました。
- エージェント (スクリプトによって使用される) はキーを保持します (
ssh-add -l
それを一覧表示します)。 - github は、デプロイ キー (私が使用しているキー) を介して特定のリポジトリのクローンを作成することを受け入れます。
- 別のキーでログインしていません。つまり、通常の個人用キーを github アカウントから一時的に削除しました。
しかし、スクリプトはおそらく転送を使用していません。それはphpseclibの制限ですか?転送を使用するようにローカル ssh エージェントをセットアップできますか?
ssh - リモート ssh セッションで ssh-agent を開始する
xubuntu を実行するサーバーに接続し、そこで ssh-agent を起動します。次に、リモート サーバーで ssh-add を実行し、パスワードを複数回入力する必要がある rysnc コマンドを実行します。
私のソリューションでは、一度入力するだけで済みます。しかし、どうすれば ssh-agent を永続的に起動できますか? 複数の ssh セッションで再利用したい。
これまでの私の解決策:
node.js - ssh でのみアクセス可能な git リポジトリで npm リンクを使用する方法
いくつかのサポート ライブラリを使用してノード アプリを開発しようとしています。プロジェクトはすべて、ssh 経由でアクセスできるプライベート リポジトリに存在します。ユーザー名とパスワードによる認証はオプションではありません。
これまでのところ、gitリポジトリのURLをpackage.jsonに追加してきました
再現可能なビルドにつながらないため、これは良くありません。つまり、クライアント コードとライブラリを同時に開発するには、小さな変更ごとにプッシュする必要があります。
npm link
これを解決するには理想的ですが、ライブラリ ディレクトリで npm リンクを実行すると、次のエラーが発生します。
システムのグローバルな場所を変更しようとしています。
その「|」「g」を隠しているのは、アニメーション化されたスピナーです。これは、ルートとしてリポジトリにアクセスしようとしたときに git が行うことだと判断しました。なんらかの理由で、自分~/.ssh/id_rsa
または自分の ssh エージェントが表示されません。
root で ssh-agent を実行する方法を考え出すことで、これを解決できると思いますがnpm link
、git から読み取る必要があることさえ意味がありません。自分のコンピュータのみの構成を変更しているのに、なぜネットワークにアクセスしているのでしょうか? これは、私が何か他のことをしていると思わせます。
sftp - phpseclib - SSH_AUTH_SOCK が見つかりません
私は、接続のために通常の FTP から SFTP に移行している別の会社と協力しています。既存のユーザー名とパスワードは同じであるが、ポート 22 で SFTP 経由で接続する必要があるとのことでした。サイトへの接続、ディレクトリ リストの取得など、いくつかの基本的なことを行う PHP スクリプトがいくつかあります。 、毎日ファイルをアップロードおよびダウンロードします。これらはすべて FTP で正常に動作するため、プロトコルを SFTP に交換するだけです。
いくつかの調査を行った結果、PHP を使用して SFTP を実行するには、phpseclib が最も簡単で堅牢な方法であるというコンセンサスが得られたようです。私のサーバーは Linux と Apache を実行しています。ライブラリをダウンロードし、phpseclib が提供する基本的な例だけを実行しようとしましたが、エラーが発生しました。
注意: System/SSH/Agent.php の 244 行目に SSH_AUTH_SOCK が見つかりません
をAgent.php
見ると、スクリプトが または のいずれかで定義されることを探していることがわかりSSH_AUTH_SOCK
ます。明らかな何かが欠けているに違いありませんが、このエラーを回避する方法がわかりません。$_SERVER
$_ENV
ssh - ジェンキンス ssh AgentForwarding
jenkins@jenkins-server --- 認証 (RSA キーを使用) ---> git@gitlab-server
jenkins@jenkins-server --- 認証 (RSA キーを使用) ---> user@qa-server
コマンドラインからの出力は期待どおりです
「シェルの実行」ビルドステップとまったく同じコマンドをjenkinsジョブから実行すると、出力は(予想どおり)同じです。
「SSH 経由でファイルを送信するか、コマンドを実行する」ビルドステップを使用すると、ジェンキンスは接続できますがuser@qa-server
、ssh -T git@gitlab-server
リモートコマンドは失敗します
許可が拒否されました。もう一度お試しください。
許可が拒否されました。お試しください
また。許可が拒否されました (公開鍵、パスワード)。
この特定のケースでssh-agent
は、 が で実行されていないようです。qa-server
すべてのサーバーは Ubuntu サーバーを実行しています。jenkins SSH Agent Pluginをインストールして構成しました。
これをデバッグする方法 (および/または修正する方法)。ジェンキンスが実行している正確なコマンドを確認するにはどうすればよいですか?