# Mac上でVSCodeを使用して大学のmuseに接続する [TOC] ## [TL;DR](https://eow.alc.co.jp/search?q=tldr) VSCodeを利用したssh-remoteでの学内サーバー接続 公開鍵認証を利用することでパスワードが不要になる **パスワードでの利用は今の所不可.** ## VSCodeのインストール https://code.visualstudio.com/ にアクセス ダウンロードして手順に従ってインストール ![](https://i.imgur.com/f1zlOTh.png) ### インストールが終了して起動するとこんな画面になる ![](https://i.imgur.com/NpqkHMp.png) ## 鍵の生成,公開鍵認証の準備 鍵を生成することでパスワード認証をスキップしてサーバにアクセスできる ![](https://i.imgur.com/sUfR1eh.png) 大学のサーバに設置する鍵を**公開鍵**,自分で持つ方を**秘密鍵**と呼ぶ.**秘密鍵は絶対に公開してはならない**.公開鍵/秘密鍵は自分を証明するために必要な鍵であり,自分宛ての通信を暗号化する際にも有用なので公開してはならない(公開鍵で暗号化したものは秘密鍵でのみ復号化できるため). 作業の順番は, 1. 公開鍵と秘密鍵のセットを作る 2. 公開鍵認証の準備をする + 公開鍵を大学のサーバに転送する + `.ssh/authorized_keys`に中身を書き込む + 読み取り権限を設定する ### 鍵ペアの作成 ターミナル(Windowsならコマンドライン)を開いて`$ ssh-keygen`を実行して鍵ペアを作成する ![](https://i.imgur.com/BHwQNNT.gif) これを行うことで**鍵ペアを作成**できる. 何も設定しない状態だと`~/.ssh`内に秘密鍵のファイル:`id_rsa`,と公開鍵のファイル:`id_rsa.pub`の2つのファイルが作成される.この内`id_rsa.pub`を大学のサーバに置く必要がある. ## [学外NWからの場合]学内NWへのVPN接続 以降の手順では大学のサーバに接続する.**学外からの接続の場合はVPN接続が必要.** ![](https://i.imgur.com/ywe4C5V.png) [MyWaseda](https://my.waseda.jp/community/content/community-content-view?contentType=page_id=34&menuId=132248053&callKbn=2&communityId=1&backUrl=&portalCommunityId=1)のITサービスタブ,左の` ヘルプデスク > マニュアル等 > ネットワークサービス > VPN利用による学内ネットワーク接続`のマニュアルに従って学内に接続する ### 公開鍵の転送 まず**公開鍵**(`~/.ssh/id_rsa.pub`)を学内サーバーのホームディレクトリ(`~/`)に転送する.以降では学籍番号が`1x12345-8`の場合について解説する ```shell $ scp ~/.ssh/id_rsa.pub 1x123458@muse01.mse.waseda.ac.jp:~/ ``` ## VSCodeの設定 ### 拡張機能:Remote Developmentのインストール マーケットプレイスを開いて`Remote Development`を検索してインストール ![](https://i.imgur.com/bk9eObQ.jpg) インストールが成功すると左下に緑色のリモート接続マークが出現する. ![](https://i.imgur.com/mQooN8U.png) ### sshのコンフィグの作成 左下のリモート接続アイコンを押して, ![](https://i.imgur.com/HvEMfLI.png) `Remote-SSH: Open Configuration File`をクリック. ![](https://i.imgur.com/DN4qs8O.png) 特になければユーザーのconfigファイルを開く ![](https://i.imgur.com/ePWDKy3.png) 設定画面が出てきたら以下の内容を書き込み,保存する. ``` Host school_vscode #接続先の名前 HostName muse01.mse.waseda.ac.jp #接続先のアドレス User 1x123456 #ログインID IdentityFile ~/.ssh/id_rsa #秘密鍵の場所 ``` ![](https://i.imgur.com/rWd46Tw.png) ログインIDは人によって異なり,秘密鍵のディレクトリも場合によっては異なる.接続先の表示名は任意に変更しても良い.ここでは`school_vscode`とした. ## 大学サーバへの接続 **上手くいかない場合は下記の[.wgetrcの記述]()を試してください** リモートSSHのアイコン(画面に`><`)マークをクリックし(①),school_vscodeを右クリックしたら(②),`Connect to Host in current Window`を選択する. ![](https://i.imgur.com/bVoAplY.png) 秘密鍵に対してパスフレーズを設定している場合はここで入力欄が出てくる. フォルダを開くためには,ファイルアイコンをクリックして(①),`Open Folder`をクリックする(②). ![](https://i.imgur.com/loGwXXT.png) 選択のポップアップが出てくるので,そのまま`OK`を押す. ![](https://i.imgur.com/EosYUYB.png) リモートの環境を開くことができた. ![](https://i.imgur.com/nMwM7lJ.png) ## .wgetrcの記述 初期設定ファイルをインターネットから取得する際に,学内のサーバから接続するとうまくいかない場合があります.その場合はホームディレクトリに.wgetrcというファイルを作成して,以下を記述してください. ``` http_proxy=http://www-proxy.waseda.jp:8080 https_proxy=http://www-proxy.waseda.jp:8080 ftp_proxy=http://www-proxy.waseda.jp:8080 ``` ## 使用方法 [ネットで検索](https://www.google.com/search?q=VSCOde)してください. マケプレでC/C++の拡張機能を入れたり,Javaの拡張機能を入れたり,Pythonの拡張機能を検索して入れたりするといいと思います.