検索条件
タグで絞り込み
OS::Linux(1)
OS::Linux::Ubuntu(1)
Webサービス(1)
Webサービス::GitHub(1)
ジャンル(1)
ジャンル::セットアップ(1)
ソフトウェア(1)
ソフトウェア::SSH(1)
全2件
(1/1ページ)
なんか突如としてGitHubにHTTP経由で繋ぐのが面倒くさくなったのでSSHで繋げるようにしたときのメモ。
github.secとする忘れた。
正攻法では以下だが、keychainを使ったほうが運用が楽。
# 鍵束への登録
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/github.sec
# 接続確認
ssh -T git@github.com
ここではWindowsのSSHクライアントを利用する。
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
C:/Users/<ユーザー名>/.ssh/に置くC:/Users/<ユーザー名>/.ssh/configを開き、次の内容を記述
Host github.com
User <ユーザーID>
Hostname github.com
IdentityFile C:/Users/<ユーザー名>/.ssh/github.sec
パス表現に%USERPROFILE%は通用しないので注意~/.ssh/github.secに置くchmod 600 ~/.ssh/github.secとかして自分しか見れないようにする~/.ssh/configを開き、次の内容を記述
Host github.com
User <ユーザーID>
Hostname github.com
IdentityFile ~/.ssh/github.sec
ここではoriginがリモートであるとして進める。
git remote -vでリモートリポジトリの状況を確認git remote remove originでHTTP通信になってるのを消すgit remote add origin git@github.com:Hoge/piyo.gitでSSH通信に書き換えるgit fetchが通ればOK.ssh/のパーミッションが700なのを確認するssh -T git@github.comで繋がるか確認する。繋がらなければこれまでの手順が何か漏れないか確認するWindows標準のOpenSSHを利用してSSHDを立てる方法。
20分くらいかかるので、気長に待つ。
# 有効なバージョンの確認
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# インストール
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# SSHDサービスの開始
Start-Service sshd
# 自動起動に設定
Set-Service -Name sshd -StartupType 'Automatic'
# 構成状況の確認
Get-Service -Name sshd
(Get-Service -Name "sshd").StartType
%programdata%\ssh\sshd_configに設定ファイルがあるので、これを触る。
Ubuntuと同じOpenSSHであるため、設定方法は基本的に過去に書いたSSHDの設定方法と同じだが、管理者であればAuthorizedKeysFileのコメントを外す必要はない。
管理者である場合、authorized_keysはadministrators_authorized_keysというファイル名にして%programdata%\sshに置く。
書き換えたらRestart-Service sshdで再起動する。
上手く繋がらない場合は、Stop-Service sshdでサービスを止めたうえでsshd.exe -ddd -eで直に起動するとデバッグログが見れるので参考にする。
次のコマンドを流し、規則を作りなおす
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort <ポート番号>