リモートからローカルへファイルをコピーする(ファイルをサーバーからダウンロード)
$ scp 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/neko.txt ~/Documents/neko.txt Enter password: 【パスワード】ローカルの「~/Documents」パスが示す場所は「C:\Users\user\Documents」である。
$ scp 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/neko.txt ~/Documents/
$ scp 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/neko.txt ~/Documents/aka_neko.txt
ローカルからリモートへファイルをコピーする(ファイルをサーバーへアップロード)
$ scp ~/Documents/neko.txt 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/neko.txt Enter password: 【パスワード】単純にローカルパスとリモートパスを入れ替えるだけである。
$ scp ~/Documents/neko.txt 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal
リモートからローカルへディレクトリをコピーする(ディレクトリをサーバーからダウンロード)
$ scp -r 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/test_dir ~/Documents/test_dir Enter password: 【パスワード】「-r」オプションを指定するとディレクトリをコピーする。 もちろん階層化のファイル群も一緒にコピーする。 上記と同様、コピー先のディレクトリ名部分は省略できる。
$ scp -r 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/test_dir ~/Documents/
ローカルからリモートへディレクトリをコピーする(ディレクトリをサーバーへアップロード)
$ scp -r ~/Documents/test_dir 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/animal/test_dir Enter password: 【パスワード】ローカルパスとリモートパスを入れ替えるだけ。 もちろんコピー先のディレクトリ名部分は省略可能。
公開鍵と秘密鍵の作成手順(自分のPCからさくらサーバーに接続する場合)
$ ssh-keygen -t rsa
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/user/.ssh/id_rsa. Your public key has been saved in /c/Users/user/.ssh/id_rsa.pub. The key fingerprint is: SHA256:c5pFZLih+CUhsIdUd2DsMg4ObPTYiNV+7T02moHcmIY user@user-PC The key's randomart image is: +---[RSA 2048]----+ | o+..+...o | | o.oooo.oo | |+.B..+ + o. | |o=.+= = +. | |.o o B OS.o | | . E X +*= | | . o= o | | o | | | +----[SHA256]-----+
$ scp .ssh/id_rsa.pub ユーザー@ユーザー.sakura.ne.jp:/home/ユーザー/.ssh/id_rsa.pub
はじめて
はじめてid_rsa.pubをアップする場合、id_rsa.pubの名前をauthorized_keysにファイル名変更する。ssh -l ユーザー ユーザー.sakura.ne.jp
% cd .ssh
mv id_rsa.pub authorized_keys
2回目以降
2回目のid_rsa.pubのアップ、つまり別PCのid_rsa.pubを追加する場合。ssh -l ユーザー ユーザー.sakura.ne.jp
% cd .ssh
% cat id_rsa.pub >> authorized_keys
% rm id_rsa.pub
ssh -l ユーザー ユーザー.sakura.ne.jp
ワンライナー
ワンライナーでSSHキーを追加する。$ cat ~/.ssh/id_rsa.pub | ssh example@example.sakura.ne.jp 'cat >> .ssh/authorized_keys'
公開鍵をアップした後のさくらサーバーの挙動
公開鍵の登録をしたPCからSSHログインするとき、パスワード入力は不要になっている。FTPへの影響
上記の検証中にFFFTPでログインができなくなるという問題が発生した。mkdir $HOME/binシンボリックリンクを作成
ln -s /usr/bin/php8.2 $HOME/bin/php.bashrcにパスを追記するため、viで開く
vi ~/.bashrcviにて.bashrc内に下記の一行を追記する。
export PATH=$HOME/bin:$PATH適用したらOK
source ~/.bashrc確認
php -v
C:\Users\user\.ssh\hogehoge_x_server\sykzsc.key
ssh -l sykzsc -i ~/.ssh/hogehoge_x_server/sykzsc.key sykzsc.xsrv.jp -p 10022上記のコマンドを入力後、先ほど入力したパスフレーズを入力するとSSH接続ができます。
~/.ssh/configconfigファイルをテキストエディタで開き、以下のように編集します。
Host hogehoge HostName sykzsc.xsrv.jp Port 10022 User sykzsc IdentityFile ~/.ssh/hogehoge_x_server/sykzsc.key ServerAliveInterval 60
ssh hogehoge