SSHを使ってみたので備忘録
研究室にあるLinux PCのところへ行っていっつもネットワーク系の実習をやっているんだけども、
わざわざ設定ファイルを若干いじったり、データ取りに行くためだけに研究室へいき、PCのところに座って…っていうのが面倒くさいという思考に至ったので、SSHというものを使うことにした。
たいした設定はやっていないけども、メモ。
SSHってなに
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
wikipedia:Secure Shellより
安全にPCを遠隔でいじりましょっていうことです。
つかえるようにする
元々はいっているので、ファイアウォールの設定で信頼できるサービスのところにあるSSHをチェックいれるだけ。便利っすね。
これでリモートホスト側の設定は大丈夫。
で、あとはPCを動かしっぱなしにしたまま、愛機のMacBookAirのターミナルからログインしてみます。
$ ssh -l root ***.***.***.** $ ssh -l [ユーザ名] [リモートホスト名(今回はIPアドレス)]
-lオプションでログインするユーザ名を指定しています。今回はroot。
パスワードが要求されるので、打ち込んでやればログイン完了。
ついでにファイルも送りたい
sshやってて気付いたんだけれども、
「これってファイルのやりとりできないのか?」
と思って調べてみたら、できるみたいなので、これもやってみる。
Secure Copy (scp) は、sftp同様、Secure Shell (ssh) に含まれるsshの機能を使ってセキュリティの高い(セキュアな)ファイル転送を行うコマンドの 1 つである。
認証情報(たとえばパスワード認証なら、ユーザー名やパスワード)と、セッション中でやり取りされるデータとの両方ともが、暗号化されてネットワーク上を流れる。Unixで古くから使われているリモートファイル転送コマンドrcp(Remote CoPy)のセキュアなバージョンといえる。コマンドラインの指定方法はrcpとほぼ同じであり、rcpは安全ではないことから、ある種のシステムではrcpという名前で起動しようとするとscpコマンドが実行される。
wikipedia:Secure Copyより
ローカルホストからリモートホストへ送信する
$ scp -P 22 test.html root@***.***.***.**:~/www/ $ scp -P [ポート] [ファイル名] [ユーザ@リモートホスト:転送先]
リモートホストからローカルホストへ送信する
$ scp -P 22 root@***.***.***.**:~/www/test.html ./myfiles/ $ scp -P [ポート] [ユーザ@リモートホスト:送信ファイル] [転送先]
ちなみに、これはファイルを送信している例なんだけども、
ディレクトリごと送信することもできるみたい。
今度研究用のデータセットを落とすときにでも使ってみよう。
はい、これで快適になりましたとさ、めでたしめでたし。