大学のSSHサービスが便利すぎるので紹介してみた(UNIX系OSの方向け)

大学のSSHサービスが便利すぎるので紹介してみた(UNIX系OSの方向け)

SN

5/27 00:33



はじめに

めんどくさい人は要約だけ読んでください.

この記事は,九州工業大学(以下,本学)の学生が本学のSSH接続サービスを十分に活用しきれていない現状を見てもったいないなぁと思い書き始めたものです.

Exceedなるリモートデスクトップ接続するGUIサービスもあるのですが,プログラムを書いたり,プログラムの動作テストなどをするためだけにこいつを使うのは面倒だし(僕だけ?),GUIなので動作が重かったりするし,総接続数に制限があるらしくアクセス過多の場合接続できないらしい.それに対し,SSH接続は制限なく使える(いまだかつて接続制限食らったことない)し,CUIなので動作が比較的サクサクでストレスもたまらない,なによりかっこいい!!!!のでぜひ活用してほしい.

-要約-

SSH接続って便利だよ!!!みんなも使ってね!!!!!!!

※今回はMacやUbuntuなどのUNIX系OSのみを対象としています.この記事の対象は本学の学生(Linux初心者)を対象にしています.また,説明の簡単化を図るため一部用語を言い換えたり省略したりしています.


実際にやってみた


鍵を作ろう

鍵を作るために ssh-keygen というコマンドを実行します.SSHのことをよくわかっていない方はパスワードだけ考えておいてください.パスワードは省略することも可能ですが,セキュリティ上よろしくありません.


$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/futamu/.ssh/id_rsa): ←Enterを押す
Created directory '/Users/futamu/.ssh'.
Enter passphrase (empty for no passphrase): ←パスワードを入力(省略も可)
Enter same passphrase again: ←上と同じパスワードを入力
Your identification has been saved in /Users/futamu/.ssh/id_rsa.
Your public key has been saved in /Users/futamu/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:←この辺にランダムな文字列が表示される
The key's randomart image is:
+---[RSA 2048]----+
|.o+o .(●・▽・●) |←この辺にもランダムな文字列が表示される
+----[SHA256]-----+


これで認証用の鍵が生成されました.

今回は特に指定していないので~/.ssh/ディレクトリに鍵が生成されているはずです.以下のコマンドで見てみましょう.


$ ls ~/.ssh
id_rsa id_rsa.pub


id_rsa(秘密鍵),id_rsa.pub(公開鍵)の2つができているはずです.

秘密鍵の方は絶対に公開しないでください.また,誤って公開した場合は鍵を再生成してすでに登録済みの公開鍵を新しく生成したものに変更してください.

以下のコマンドを実行した際に表示されるのが公開鍵です.後で登録する際に必要です.

$ cat ~/.ssh/id_rsa.pub
ssh-rsa NJBNSKJU...(略)...DKNKLHH sample



鍵を登録しよう

※ログイン名と書いてある箇所には九工大IDを入力してください

まずはこちらのサイトにアクセスしてログインしてください.

情報科学センターSSH登録パネル

なお,このリンク先は関係者のみが閲覧可能なので,文章のみで記述しますが,実際にそのページを見ながら作業を行えばわかるはずです.

生涯メールアドレスから以下の内容を指定された宛先に送信します.

件名,氏名,ログイン名,公開鍵,認証鍵


宛先,件名は指定されているとおりに記述してください.
公開鍵は先程$ cat ~/.ssh/id_rsa.pubを実行した際に表示された文字列すべてです.

認証鍵は,登録パネルのページの下の方に書いてあります.
件名,氏名,ログイン名,公開鍵,認証鍵すべて正しく記述してあることを確認してメールを送信します.
登録完了のメールが返ってくるまで暫くかかるので(平日なら割と早いかも...),コーヒー☕でも飲んで待ちましょう.



登録完了したら...

接続する際に必要な情報を確認していきましょう.

ISCオンラインガイド

こちらのページにログインします.

なお,このリンク先についても関係者のみが閲覧可能なので,文章のみで記述しますが,実際にそのページを見ながら作業を行えばわかるはずです.

応用編→sshサービスの利用方法→鍵認証方式によるログイン方法→クライアントソフトウェアの設定と利用方法

とリンクを進んでいきます.

すると,接続先キャンパス,ポート番号,ホスト名が書いてある表があります.

自分が所属しているキャンパスのホスト名を確認してください.


実際にSSH接続しよう!

SSHコマンドを使用する際には先程確認したホスト名とログイン名を使用します.

$ ssh <ログイン名>@<ホスト名>
$ ssh -l <ログイン名> <ホスト名>


上記のコマンドはどちらも同じ意味ですのでお好きな方を使用してください.

$ ssh <ログイン名>@<ホスト名>
The authenticity of host '...(略)...' can't be established.
ECDSA key fingerprint is SHA256:jis3...(略)...4jcma.
Are you sure you want to continue connecting (yes/no)?



はじめてSSH接続する際にはこのようにメッセージが表示されますが,yesと入力してEnterを押してください.

すると,大学のサーバにSSHログインができます!

終了する際は以下のコマンドを実行してください.

$ exit


SSH接続すると,最初はユーザのホームディレクトリ直下にいます.通常のプログラミングの講義で使用している計算機で端末ウインドウを立ち上げたときと同じ状態です.この環境は,講義室の計算機で端末ウインドウを使用しているときと全く同じです(ファイルや設定などもまったく同じです).

ただし,GUI(マウスでいじるやつ)ではなくCUI(キーボードから操作するやつ)なのでemacsの使い方も多少異なってきます.中の人はemacsのコマンドはよくわからないので,vimをオススメしておきます.


ついでに便利なコマンドも知っておこう

ファイルの転送ができるscpコマンドというものがあります(某財団とは全く関係ありません).

リモート(サーバ上)のファイルをローカル(手元の計算機)にダウンロードしたり,ローカルのファイルをリモートにアップロードしたりできるコマンドです.


アップロードする場合
$ scp <ローカルファイルのパス> <ログイン名>@<ホスト名>:<保存先のパス>

ダウンロードする場合
$ scp <ログイン名>@<ホスト名>:<リモートファイルのパス> <保存先のパス>

引数にrを与えるとディレクトリも転送できます.
$ scp -r <ローカルファイルのパス> <ログイン名>@<ホスト名>:<保存先のパス>
$ scp -r <ログイン名>@<ホスト名>:<リモートファイルのパス> <保存先のパス>


例)ログイン名:ayasa, ホスト名:i.ayasa.jp, ローカルファイルのパス:~/hoge/hoge.py ,保存先:~


$ scp ~/hoge/hoge.py ayasa@i.ayasa.jp:~


※ローカルファイルのパスに関しては絶対パスでも相対パスでもどちらでも構いません.リモートファイルのパスは,大学サーバでアレコレするうちはホームディレクトリを基準に考えておいて良いでしょう.


【おまけ】簡易的なvimの使い方

詳しいことは「vim 使い方」とか「vim コマンド」で検索して他の方の記事を参照してください.

簡単に説明するとvimは学校のプログラミングの授業で見るgeditやemacs(あとはatomとかVS code)のようにキーボードを叩くと文字がそのまま入るわけではありません.

編集モードとコマンドモードがあり,起動時はコマンドモードです. (コマンドモードについては調べてみてください)

なので以下の使い方を見て編集モードに入ることで皆さんの思ったエディタの使い方ができます.


$ vim <ファイル名.拡張子>


で既存のファイルの編集及び新規ファイルの作成が可能です.

最低限以下のコマンドを覚えておけば使えます.軽い編集程度ならこれだけ知ってればなんとかなります.

1. 編集する際はiキーを押すと編集モードに入ります.

2. 保存する際はescapeキーを押した後に:w

3. 終了する際はescapeキーを押した後に:q(終了前に保存していないと怒られて保存できませんが:q!で保存せず終了することが可能です)

4. 保存して終了の際は:wq

Qiita - Vimタグが付けられた新着投稿

vimがdyld: Library not loadedで起動できなくなった [mac]

SN

9/12 17:56



現象

bashrcでも修正しようとターミナルからvimを起動しようとすると、以下のエラーが出て起動しない

$ vim .bashrc
dyld: Library not loaded: /usr/local/opt/python/Frameworks/Python.framework/Versions...

m文字以内を表す{,m}なんて量指定子は存在しない。…わけではない。

SN

9/10 09:06



結論

通常?多くの言語で使える正規表現では{,m}は使えず、{0,m},{1,m}を使う必要がある。

が、

(いまのところ見つけられた範囲では)

Rubyやvimなどでは{,m}の書き方が使える。

正規表現エンジンで言...

数年ぶりに Vim 環境を整理しなおしたのでまとめ

SN

9/9 23:30

ここ 2 年くらいはガッツリ Swift エンジニアだったのもあって、わりと Vim から離れてたわけなんですけども、いまアプリ開発自体は担当しなくなって最近は Ruby/PHP 触る時間が増えてきて、まあ Xcode と比べる...

#28/100DaysOfCode【gitでローカルリポジトリにコミットして、リモートリポジトリにプッシュしようとしてみた】

SN

9/9 23:20



概要

本日やりたかったこと

①リモートリポジトリとローカルリポジトリの接続

②Eclipseで先週のフィードバックのリライト

③リモートへのプッシュ

④Javaの勉強へ

本日やったこと

①リモート...

vim 命令集

SN

9/8 22:59

上移動:k

下移動:j

右移動:l

左移動:h

最初移動:gg

最後移動:G

通常状態:Esc

挿入状態:i

一文字追加&挿入状態:a

一行追加&挿入状態:o

編集状態:v

部分編集...

Vim初心者が感じた、Vimの不満点を改善してみた

SN

9/6 10:15



AtomからVimへ

今までテキストエディタはAtomを使用していたのですが、こういった記事を見てからAtomを使うのが億劫になってしまいました。

なので、最近はVimを使うようにしています。

Qiitaの記事を...

macにvim8.1とプラグインをインストール

SN

9/4 23:28

vim8.1がリリースされたので重い腰を上げて数年放置している自分のvim環境をリプレースすることを決意。

以下は軌跡である。

やってみた感想:やれば結構すぐ終わるから面倒くさがらずに早くやればよかった。...

vimでclipboardを+にしたいけどならない人向け

SN

9/3 23:25

初学者です。

vimをコンパイルしたら


$ vim --version | grep clipboard
-clipboard +jumplist +persistent_undo +vertsplit
+emacs_tags +mouse_dec -sun_workshop ...

vimで貼りつけ時に自動インデントをしないようにする

SN

9/2 17:40

ガチのVimmerではないので、よくはまる。

他の場所からコードをコピペでVimに張り付けると、元々ついているインデントに加えてさらにVim側で自動インデントが走ってひどいことに。


貼りつけモードにしてか...

プログラミング効率化

SN

8/31 18:52



vimtutor

terminalでvimtutorと打てば、vimのチュートリアルが行える。


vimium

chromeの拡張機能。コマンドだけでブラウザ操作ができる。


intellij

リモートとローカルのフォルダ構成などを自動マッピン...

vim の neocomplete プラグインをインストール

SN

8/31 16:12

vim の補完プラグイン neocomplete をインストールした時のメモ。

環境は以下。


ubuntu 16.10 (Yakkety Yak)
vim: version 7.4.1829


requriements によると、 7.3.885+ with Lua が必須だそうです。

バージ...

文字列操作 〜SedとVimと、時々、正規表現〜

SN

8/31 10:55



文字列操作〜SedとVimと、時々、正規表現〜



みなさんSedコマンド使ってますか?

手打ちで文字列編集とかしてません?

正規表現使ってますか?

Vimはエディターの好みの問題なので興味あれば使っ...

Good Bye Vim. Hello VSCode.

SN

8/31 00:34



かつてのVim人気はどこへ

5年くらいまでの技術記事といえばVimが常連。はてぶのテクノロジーカテゴリは毎日必ずなにかしらVimの記事がホットエントリに上がっていました。

Vim Advent Calendar 2013に至っ...

Vim のファイルセーブは異常だからやめたい

SN

8/30 15:33

Vim 使いの皆さんは、 Vim のファイルを保存する方法をご存知だろうか?

そうだ、 :w<CR> のことだ。

……皆さん、お気づきだろうか。

たかがファイルを保存するのに、

なんと、


三つもキーをタ...

git + peco + Vim — git grep でマッチしたファイルを選んでVim で編集する

SN

8/30 04:28



イメージ



echo という文字列があるファイルを git grep する
12行目でマッチしているファイルを選ぶ





Vimで12行目から編集開始できる





ポイント



$EDITOR の環境変数で利用するエディタを決める

...

Git — git の編集モードで Vimを最初からインサートモードで開く

SN

8/29 19:11

素早くコミットしていく開発スタイルだとじわじわと便利


git config

~/.gitconfig


[core]
editor = 'vim' -c 'startinsert'



Versions


git version 2.8.1
VIM - Vi IMproved 8.1



Links


Gist

みんなにもっとCtrl-zで実行中のjobをサスペンドできること知って欲しいし、使って欲しい (bash、Zsh)

SN

8/29 01:56

皆さんこんにちは、かみけん(@kamykn)です。

(最近、アカウント名をkmszkからkamyknに変えました。)


この記事で紹介すること

bashやzshなら実はscreenやtmuxを使わなくてもVimやMySQL CLIなどを一つのウイ...

Vim — 複数行をカット&ペーストする ( 3行カットするなら 3dd → p )

SN

8/28 10:53



3行カットしたい場合


カット

3dd



ペースト

p



環境


vim 7.3



あわせて読みたい


Qiitaに記事を書く動機は「ググりにくい記事を、ググりやすく」するためでOK - Qiita
Vim — 複数行をコピー&...

AISO の良いVim > 知らないと損するインサートモードへの入り方色々

SN

8/27 02:19



一覧


A



a — 現在の位置 + 1文字先からインサートモードへ

A — 行末に移動してインサートモードへ



I



i — 現在のカーソル位置からインサートモードへ

I — 行頭に移動してインサートモードへ



S


...

障害者向けのShiftキー自動押下

SN

8/26 22:42

ErgoDoxEZを使っていて、面白そうではあるが、個人的には不便な設定を見つけたので、紹介する。


Shiftキー自動押下

正確には、ErgoDoxに関係なく、QMKのFirmwareに関する設定の一つ。

結論を言えば、Aキー...

Vim の jj を Mac の日本語入力中でも使えるようにする

SN

8/25 03:13



TL;DR

Vim や GUI エディタの Vim 拡張機能 (e.g. vscodevim) を普段使うとき、 jj を esc にマップして insert mode を抜けるのに使っているのですが、日本語入力中に jj (つまり っj) を入力したときも機能...

逆引きVim(随時更新)

SN

8/24 15:14


行末へ移動:$

行頭へ移動:0, ^

一文字決してインサート:s


Vim — 最初からインサートモードでファイルを開く

SN

8/23 10:20

vim some_file -c 'startinsert'



-c オプションって何?

ファイルをロードした後に実行するコマンド。

$ vim --help | grep '\-c '
-c <command> Execute <command> after loading the f...

Vim — q とコロン ( q: ) で出てくるあいつは何と呼ぶのか > 「コマンドライン・ウィンドウ」らしい

SN

8/23 05:33

Vimを終了 ( :q ) させようとすると、たまに押し間違えてでてくるあいつ。

コマンドラインウィンドウ。

カタカナで書くと山口百恵の曲っぽい。

もしくは単に「コマンドウィンドウ」と呼ぶみたいだ。



通...

漆黒の闇に近づくために(なるべく画面を黒くして目を疲れないようにしよう)

SN

8/22 22:40



内容

目が疲れるのでなるべく黒画面にするための方法


黒画面にした環境

windows7

Linux Mint LMDE2

word2016(windows版)

Vim

jupyter notebook

vivaldi


はじめに

僕は長期間、いや...

Vim — コマンド入力モードで移動するショートカット (普通のショートカットが効かない)

SN

8/22 16:58



結論から書く



CTRL-B (行頭に移動)

CTRL-E (行末に移動)


を覚えておくだけで相当便利になりそう。


ショートカット一覧


CTRL-B or <Home>
cursor to beginning of command-line
CTRL-E ...

Ubuntu16.04にVimを導入する

SN

8/22 16:40



まえがき

UbuntuにVimを導入したい人のメモ。


Vimのインストール

Ubuntuにはデフォルトで"Vim-tiny"というエディタが入っていますが、最小限の機能しかなく使いづらいので、Vimをインストールします。

sud...

Mac — Vimでクリップボードのテキストを直接編集する

SN

8/22 16:31

pbpaste と pbcopy をうまく組み合わせれば出来るはずと思って試した結果。


結論から先に書く

function pbvim (){
readonly pbvim_tmp_file=./.pbvim.tmp

pbpaste | vim - +"w $pbvim_tmp_file"
cat "$...

Vim — カット&ペーストではなく単に削除する ( "_d ) ( クリップボードにコピーしない削除 )

SN

8/20 18:25

"_d で可能。

何にこれ? と思うが、そのとおりにキーを入力すれば良い。

ダブルクォート・アンダースコア・ディー。

(「詠唱」、「祈り」、「念じろ」)

削除したテキストは p でもペーストされないのが分...

Vim patchダイジェスト [2018/08] (仮)

SN

8/20 17:25

Vim patchダイジェスト [2018/08] (仮)

(8.1.0230 ~ 8.1.0301)



8.1.0301: GTK: マルチモニター環境でモニター間を跨る位置のGVimにてIM未確定文字の表示位置がおかしい件を修正しました。(※patchの説明は...

PR:bitflyer

bitFlyer ビットコインを始めるなら安心・安全な取引所で