GitHubでPushした際に「git-receive-pack not permitted」とエラーが発生した際の対処法

GitHubで自分のリポジトリにPushしようとしたところ、「git-receive-pack not permitted」というエラーが発生した。(Eclipseからやってます)

エラーの画面ショット

とある記事では、「Gitのパスワードが間違っているので、Eclipseのセキュアストレージを一旦削除する」というのがあったが、これでも解決せず。

散々探した結果、GitHubの公式ブログに見つけました!なんと、2020/12/15の記事で「Token authentication requirements for Git operations」がありました。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

つまり、Gitの操作にはトークン認証が必須になるよという意味でした。実際、トークンを作成してPushしたところ問題なく操作できました。

私の場合は、Cloneするときには、Githubのアカウントとパスワードをセットしていたため、同じ認証情報がPushの時にも使われてエラーになったました。

トークンの作成方法

① GitHubにログインして、アイコン > Settingsを開く。

②画面下部の方にある、Developer Settingsを開く。

③Personal access tokenを開く。

④Generate new tokenを開く。

④トークンの名前と有効期限をセットする。

⑤アクセスを許可するスコープをセットして、画面下部のGenerate Tokenを押下する。

⑥そうすると、トークンが作成された画面上に表示されるためメモしておく(このタイミングでしか見れない)

⑦アクセストークンをパスワードにセットして使う。↓例

なお、英語でよければTokenの作成方法について公式の記事があります。
https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

Eclipseの認証情報のクリア方法

私のようにEclipseで認証情報を保存してしまった場合は、以下の方法でクリアできます。
設定 > 一般 > セキュリティー > セキュア・ストレージ > 内容 > [デフォルト・セキュア・ストレージ] > GIT > http・・・・(以下画面参照)
に移動して削除を押下します。

すると再起動を求められるので再起動します。再度Pushするときに認証情報を求められるので、その時にパスワードにTokenを使いましょう。

古いバージョンのEclipseであれば、以下の記事が役に立つかもです。
https://hacknote.jp/archives/6690/

いやー、自分が使っているサービスの公式ブログはたまに読んでおかないとだめだ。(;´д`)


Azure FIles(ファイル共有)をJava SDKで触ってみた

仕事でAzure Filesを使うことになり、JavaのWebアプリからアクセスする要件があり、ファイル作成、削除などの基本的な操作をAzure Java SDKでできるか確認した。

基本的には、以下のMicrosoft公式の実装サンプルを試してみた。
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-java-how-to-use-file-storage?tabs=java

ほとんどそのまま使えるものであったが、以下のファイルアップロードだけそのままでは使えなかった。

「fileClient.create(1024)」と書かれているが、ここはファイルの最大サイズを指定するらしく、このままでは1KBのファイルまでしかアップロードできなかった。以下のように修正して、事前にファイルサイズを指定するよう変更した。(21行目)

ソース全体は以下のGithubリポジトリにアップロード済み。
https://github.com/glasses-se-hub/azure-files-java-sdk

自分で作りたくないので、もうちょっと公式に実装サンプルがあるとうれしい。( º﹃º` )ダラ~


Microsoft認定 Azure Fundamentals試験に合格した!

AWSを使って2年ほど経ちましたが、Azureを扱うこととなりました。まずは、一番基礎である、Azure Fundamentalsにチャレンジし、無事合格することができましたので、勉強方法を紹介します!

少しでもご参考になれば幸いです。

どんな試験??

以下、公式サイトの引用です。

Azure Fundamentals 認定資格では、クラウドの概念、Azure サービス、Azure ワークロード、Azureのセキュリティとプライバシー、および Azure の価格とサポートに関する知識を証明します。受験者は、ネットワーキング、ストレージ、コンピューティング、アプリケーション サポート、アプリケーション開発の概念を含む、一般的なテクノロジの概念に精通している必要があります。

https://docs.microsoft.com/ja-jp/learn/certifications/azure-fundamentals/
要するに、Azureの認定資格の中で一番基礎のものです。

・勉強法その①-書籍

Azure Fundamentalsの対策本はいくつかありましたが、その中で唯一2020年11月に更新された最新試験に対応しているこちらの本を利用しました。
徹底攻略 Microsoft Azure Fundamentals教科書[AZ-900]対応

内容は充実していましたが、模擬試験の量がちょっと物足りませんでした。また、やっぱりAzure触らないと理解できないと思ったので、次のハンズオンを実施しました。

・勉強法その②-ハンズオン

Udemyの以下の講座がとてもよかったです!数少ない日本語解説でとてもわかりやすかったです。
試験範囲のサービスを網羅しているわけではありませんが、必須の知識だと思います。

作りながら覚えるMicrosoft Azure入門講座(IaaS編)
作りながら覚えるMicrosoft Azure入門講座(PaaS編)

・勉強法その③-模擬試験講座を受ける

ハンズオンで理解は深まったものの、問題を多く解いておいた方が良いと思ったので、以下の講座で問題を解きまくりました。

これだけで合格!AZ-900: Microsoft Azure Fundamentals模擬試験問題集(7回分430問)

正直、問題の質はそんなによくありません。誤字脱字はしょっちゅうあるし、解答も「これ合ってるか?」みたいなのもちょくちょくありました。これしかないので、これを受講したという感じです。問題の量は申し分ないです。

試験結果の通知

上記の勉強法で合格できました!!AWSの場合は、問題解き終わってからアンケート→結果の流れでしたが、Azureは問題解き終わるとすぐ結果がでてびっくりしました。

認定証

AWSよりかっこいいと思う。

スコアレポート

次はアソシエイトレベルの認定を取得するゾ!(๑و• Δ• )و


日々のSE業務で得たノウハウと趣味