【電通大生向け】solへのssh接続・scpを楽にしたい
環境
どう変わるか
ssh
ssh接続は、これが
$ ssh uecアカウント名@sol.edu.cc.uec.ac.jp
こうなる。圧倒的革命。
$ ssh sol
scp
scpは、solからファイルhoge.txt(ホームディレクトリにあるとする)を手元にコピーするなら、これが
$ scp uecアカウント名@sol.edu.cc.uec.ac.jp:~/hoge.txt .
こうなる。
$ scp -F ./.ssh/config sol:~/hoge.txt .
-F
で設定ファイルconfig
を指定する。
scpは、手元のhoge.txtをsolのホームディレクトリにコピーするなら、これが
$ scp hoge.txt uecアカウント名@sol.edu.cc.uec.ac.jp:~/
こうなる。
$ scp -F ~/.ssh/config hoge.txt sol:~/
パスワードによるssh接続する方向け
configの設定
~/.ssh/config
を編集する。~/.ssh/
にconfig
という名のファイルがない場合は、新しく作成すること。拡張子はない。ファイルに下記の文章を書き込むこと。
Host sol HostName sol.edu.cc.uec.ac.jp User uecアカウント名 Port 22 ServerAliveInterval 60
Host sol
のsol
は、好きなように編集してよい。
ServerAliveInterval 60
は、サーバに60sごとにパケットを送って、タイムアウトによる接続切断を回避するための設定。
最後にアクセス権限を調整。
$ chmod 600 ~/.ssh/config
設定はこれだけです。実際に、solに接続してみよう。
$ ssh sol
鍵ペアによるssh接続する方向け
鍵ペアの作成
SSH — ITC ユーザーズガイド ドキュメントに従い、公開鍵、秘密鍵を作成する。「OpenSSH の ssh-keygen
コマンド (UNIX, macOS)」の項を参考にして欲しい。その他の方法で作成した鍵ペアでは、成功しないことがある。このサイトでは、丁寧に説明されている。ざっくりとした手順は、下記の通り。
ssh-keygen
にて、公開鍵と秘密鍵を作成~/.ssh/
に秘密鍵id_rsa
と公開鍵id_rsa.pub
がともに作成されていることを確認する- 公開鍵は、接続先であるsolにも保存しておく必要がある
- sol上の
~/.ssh/authorized_keys
に、id_rsa.pub
と同一の文字列をコピペしよう
- sol上の
configの設定
~/.ssh/config
を編集する。~/.ssh/
にconfig
という名のファイルがない場合は、新しく作成すること。拡張子はない。ファイルに下記の文章を書き込むこと。
Host sol HostName sol.edu.cc.uec.ac.jp User uecアカウント名 Port 22 IdentityFile ~/.ssh/id_rsa ServerAliveInterval 60
Host sol
のsol
は、好きなように編集してよい。
IdentityFile ~/.ssh/id_rsa
では、公開鍵に対応する秘密鍵を指している。
ServerAliveInterval 60
は、サーバに60sごとにパケットを送って、タイムアウトによる接続切断を回避するための設定。
そして、アクセス権限を調整。
$ chmod 600 ~/.ssh/config
最後に、solに接続してみよう。
$ ssh sol
ログインには、先ほど作成したパスフレーズを用いる。
Enter passphrase for key '/home/user名/.ssh/id_rsa':
余談
ファイルの転送コマンドには、scp以外にsftpがある。こちらも、sshのconfigの設定により楽にログインできる。
$ sftp -F ~/.ssh/config sol
sftpコマンドでも、ファイルの転送は問題ない。接続が完了したら、下記のような文章が表示される。
Connected to sol. sftp>
cdコマンドで、solの中を移動(もちろんホームディレクトリ内ではあるだろうが)し、putコマンドでアップロード、getコマンドでファイルをダウンロードすることになる。