0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSHメモ(自分用)

0
Last updated at Posted at 2026-05-22

備忘録(鍵認証まわりもいつか書く)

まとめ

一例:

scp /dir_file Hostname:/dir
↓
ssh HOSTNAME
↓
nohup python3 -u script.py \
  --input_val 1 \
  --outdir out/data_out \
  > out/run.log 2>&1 &
↓
ps -u $USER
↓
ssh caffeinate -i -w 12345
↓
exit
↓
tail -f out/run.log

ログイン

 ssh (username@Hostname)で繋げる。

ssh username@Hostname_such_as_HostIP

 同じネットワークに入ってたり(というか接続される側が許容してるネットワークに入ってたり)しないとダメっぽい。学科のサーバーに接続するためにはuTokyo VPN (Ciscoから行けるよ!<自分へ)に入っている必要があり、学科所有のmac mini の自分のアカウントにリモート接続するには一旦学科のサーバーに入ってからmac miniにリモート接続する必要がある。めんどくさい!(たぶん、macminiがログインするときに学科のサーバーに接続されてるかどうかを確認するようになってるので、こんなことになっている。)

 また~/.ssh/ssh.configをあらかじめ編集しておけば毎回usernameとHostnameを打たなくていい。(あと鍵認証周りもやってくれる。)

Host keisanki_gakka
   HostName keisanki_gakka.u-tokyo.ac.jp
   User myuser_name
   IdentityFile ~/.ssh/id_rsa

確認はls ~/.ssh/config、編集はnano ~/.ssh/configで。

 2026/5月現在、sshコマンドは

ssh dover > 学科サーバー
ssh macmini > 学科macminiの自分のアカウントにリモートログイン

という風になっている。ただし、ssh macminiは一回ssh doverを経由するようにしている。(configに書いている)

ファイルの転送

手元のコンピュータのterminalで、

scp /dir/file Hostname:/dir

でおくる。/dir/fileは送りたいファイル、HostnameDoverやらmacminiやら。ファイルを置きたい場所は、sshでログインした時のディレクトリからの相対パス。

ジョブの実行(nohup)

普通にジョブを実行すると、sshを切った時にjobも止まってしまうので、nohupを使う。

nohup python3 ./python.py

みたいな。これをすると、ログアウトしてターミナルを閉じてもジョブを走らせ続けてくれる。jobは基本的にbashの管理下にあるので、jobsコマンドで実行中のjobを表示できるが、ターミナルを切るとbashも終了するのでjobは誰の管理下にもなくなる。

bash->こいつがssh切ると閉じる。
 |-jobs
    |-[1]
    |-[2]
     .
     .
     .

なのでjobsではジョブを管理できないので、psでCPUが実行中のプロセスを表示させる。

ps -u $USER

↑User管理下のプロセスを表示させる。
↓出力例

  UID   PID TTY           TIME CMD
52428 24934 ??        71:57.31 python3 -u script.py

これはPIDでkillできる。

kill 24938

ジョブの出力(標準出力表示)

nohupだと、標準出力をしてくれない。そこで、コマンドを次のようにして、出力をlogファイルに書き込ませる。

nohup python3 -u script.py \
  --input_val 1 \
  --outdir out/data_out \
  > out/run.log 2>&1 &

こうすると、標準出力(現在の実行割合とかを表示させたり)がrun.logに保存されるので、

tail -f out/run.log

で出力を表示できる。(tailはファイルの更新を追いかける命令的なものだと思っておけば良さそう。)(^Cで表示はkillできる。)

caffeinate

jobのPIDが12345なら、

ssh caffeinate -i -w 12345

で、12345が走ってる間のスリープを抑止する。

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?