LoginSignup
1
0

More than 3 years have passed since last update.

【Mac】2段階認証sshの設定からVSCode-Insiderの利用まで

Posted at

踏み台サーバーへのログインを目的の使用サーバーに簡単にログインする方法.踏み台サーバーをサーバー1,目的のサーバーをサーバー2とする. ターミナルは2つ使用するため,それぞれを1,2とする.

環境

  • macOS Mojave 10.14.6

鍵の生成

以下のコマンドによりサーバー1の鍵を作成する.

Terminal1
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 2048 -f /Users/Username/.ssh/keyname1

2点は適宜書き換え
- Username
- keyname1

以下のような表示が出るのでEnter×2(パスワードはなし)

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

すると鍵が生成される

Your identification has been saved in /Users/Username/.ssh/keyname1.
Your public key has been saved in /Users/Username/.ssh/keyname1.pub.
The key fingerprint is:
・
・
・

これで
- keyname1
- keyname1.pub

が生成されるので同様にサーバー2の公開鍵を作成する.

Terminal1
$ ssh-keygen -t rsa -b 2048 -f /Users/Username/.ssh/keyname2
  • keyname2

これで
- keyname2
- keyname2.pub

が生成される.

鍵の配置と.ssh/config設定

ローカルからサーバー1に公開鍵を移動させる

Terminal1
$ cat keyname1.pub | ssh user@IP "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"
  • keyname1
  • user@IP

サーバー1のパスワードを聞かれるので入力する.

airi@133.9.66.202's password: 

vimでconfigを作成・編集する.

Terminal1
$ touch config
$ vi config

以下のように書き込む.

.ssh/config
Host server1
Hostname IP1
User user
IdentityFile /Users/Username/.ssh/keyname1
  • user
  • Username
  • server1
  • IP1
  • keyname1

これで以下のコマンドでサーバー1にログインできる

$ ssh humidai

ターミナルをもう1つ開いてサーバー1にログインして鍵を確認する.

Terminal2
$ ssh humidai
$ cd .ssh
$ cat authorized_keys 

ssh-rsa...が入ってればok

次のコマンドで鍵をサーバー1に送信する.

Terminal1
$ scp keyname2.pub user@server1:/home/user/
  • keyname2
  • user
  • server1
Terminal2
$ cd ..
$ ls

これでkeyname2.pubが送信されてるかどうか確認できる.この鍵をサーバー2に送信したい.

Terminal2
$ scp keyname2.pub user@IP2:/home/user/
  • keyname2
  • user
  • IP2

パスワードが聞かれたらサーバー2のパスワードを答える

次にサーバー2にログインし,鍵の移動を行う.

Terminal2
$ ssh user@IP2
$ mkdir .ssh
$ cat keyname2.pub > ~/.ssh/authorized_keys

鍵の移動が終わったらvimでconfigを編集し,Hostを追加する.

Terminal1
$ vi config
.ssh/config
Host server1
・
・
・
Host server2
Hostname IP2
User user
IdentityFile /Users/Username/.ssh/keyname2
ProxyCommand ssh humidai nc %h %p
  • user
  • Username
  • server2
  • IP2
  • keyname2

これで以下のコマンドでサーバー2にログインできる.

$ ssh server2
  • server2

これが終わったらサーバー1・2からkeyname2.pubを削除すること.

$ rm betelgeuse.pub 

Minicondaのインストール

Minicondaのインストール

公式サイトでMiniconda Linux 64-bitをダウンロードする.

ダウンロードに保存した状態でサーバー2に送信する.パスは保存場所により適宜変更すること.

$ scp Downloads/Miniconda3-latest-Linux-x86_64.sh user@server2:/home/user
  • user
  • server2

送信後はファイルを実行する.

$ ssh server2
$ bash Miniconda3-latest-Linux-x86_64.sh 
  • server2

ひたすらエンター.以下の質問が出てきたらyesを答えれば良い.

Do you accept the license terms? [yes|no]

これにはそのままエンターでよかったはず.

Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
[no] >>> 

次にpathの編集を行う.

$ vi .bashrc

ファイルの最後に以下を書き込む.

ssh/.bachrc
・
・
・
export PATH=/home/user/miniconda3/bin:$PATH
  • user

これでcondaが反応すれば完了!

$ source .bashrc
$ conda

Visual Studio Code Insiderの導入

参考にしたサイト

Visual Studio Code Insiderをダウンロード

ダウンロードできたら拡張機能検索窓でremote developmantを検索し,インストール.これで必要な拡張機能が一括でダウンロードされる.

Shift+Cmd+PでコマンドパレットからRemote-SSH: Connect to Hostを利用することで接続が可能.

ファイルの送受信について

  • ファイルの送信
    • scp ファイル名 送信先のアドレス:ファイルを保存するディレクトリ
  • ファイルの受信
    • scp とってくるところのアドレス:ファイル名 ファイルを保存するディレクトリ
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0