読者です 読者をやめる 読者になる 読者になる

designetwork

ネットワークを軸としたIT技術メモ

Chromebook Secure Shell 公開鍵認証でCentOSにSSH接続する

OS OS-Chromebook

f:id:daichi703n:20170202010439p:plain

Chromebook (Google Chrome)で提供されているSecure Shellがあれば、ChromebookでもTeraTermなしでLinux (CentOS) サーバを運用できる。なお、今回の手順では開発者モード (デベロッパーモード) への切り替えは必要ない。

公開鍵を生成する

Chromebookで公開鍵を生成する場合は開発者モードへの切り替えが必要となる。しかし、今回はLinuxサーバ側でキーを生成するため、開発者モードへの切り替えは必要ない。

Linuxサーバで以下の通りSSH公開鍵・秘密鍵を生成する。鍵生成は、既に作成済みの運用ユーザにパスワード認証でログインした状態で実施するのが簡単。

$ ssh-keygen
(必要に応じてパスフレーズ入力)

~/.ssh/配下にid_rsa, id_rsa.pubが生成される。公開鍵を認証鍵リストに登録する。

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

ファイル名、アクセス権の設定が誤っているとSSH接続エラー(SSH Error Code 255 など)になるため、見直して修正する。

Chromebookに公開鍵・秘密鍵をコピーする

SFTPツールなどにより、手元に公開鍵と秘密鍵をコピーする。 TeraTerm等の場合は秘密鍵のみでよいが、Secure Shellでは公開鍵も必要となる。

chrome.google.com

「ダウンロード」フォルダ配下にssh等のフォルダを作成し、サーバから鍵をコピーする。残念ながら.sshなど.(ピリオド)始まりのフォルダは作成できない。※Googleドライブには置かないように注意!!秘密鍵流出のリスクあり!!

Secure Shellに鍵をセットする

ここがTeraTerm等とは異なるので注意が必要。Importをクリックして鍵セットを選択する。

f:id:daichi703n:20170202005417p:plain

一つ選択してShift+矢印で公開鍵と秘密鍵を選択する。

f:id:daichi703n:20170202005441p:plain

これで鍵がインポートされる。

f:id:daichi703n:20170202005500p:plain

秘密鍵だけを選択した場合はプルダウンリストに選択した鍵が表示(インポート)されない。

これで接続することで、SSH接続できる。表示はパスフレーズありのパターン。パスワードではなくパスフレーズが要求されている。ここでパスワードが要求されている場合はSSH設定に誤りがある。

f:id:daichi703n:20170202005643p:plain

鍵セットの削除方法

鍵選択を誤った時は以下の通り削除できる。

Identityで選択した状態でDELキー

私のChromebook Acer C720では検索+BackSpaceでDELコマンドを送信できる。

詳細マニュアルはこちらに記載がある。

chromeapps/nassh/doc/faq.txt - chromiumos/platform/assets - Git at Google

まとめ - Chromebook Secure Shell 公開鍵認証でCentOSSSH接続する

Linux(CentOS)サーバ側で鍵生成することで、Chromebookを開発者モードにすることなく、Secure Shellでの公開鍵認証SSH接続ができる。TeraTerm等と異なり、公開鍵・秘密鍵をセットでクライアントに読み込む必要がある。