xserverにsshで接続する方法(Passwordなし)

xserverへのssh接続手順

  • xserverにてssh公開鍵認証用鍵の生成
  • 鍵(id_rsa_xserver)をダウンロード
  • ログインテスト
# ローカル端末で ~/.sshが無い場合には作成
mkdir ~/.ssh

# 秘密鍵を.sshへmv,chmod
mv id_rsa_xserver ~/.ssh/id_rsa_xserver
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_xserver

# 接続テスト(この時点ではPasswdを聞かれます)
ssh -l [サーバーID] -p 10022 [サーバーID].xsrv.jp -i ~/.ssh/id_rsa_xserver

# ssh xserverでログインする方法(ログインの簡略化)
touch ~/.ssh/config
vi ~/.ssh/config

Host xserver
  HostName [サーバーID].xsrv.jp
  Port 10022
  User USERNAME
  IdentityFile ~/.ssh/id_rsa_xserver

  TCPKeepAlive yes
  IdentitiesOnly yes

# 接続テスト
ssh xserver

# この時点ではPasswdを聞かれます。

passwdなしでの接続方法

  • 秘密鍵、公開鍵作成(既存のものがない場合)
  • 公開鍵作成をxserverに転送
  • config修正(必ずしも必要ではない)
  • 接続テスト

# local側での処理(localにid_rsa、id_rsa.pubが存在しない場合)
ls ~/.ssh

# 鍵作成
ssh-keygen -t rsa

# 鍵ができていることを確認
ls ~/.ssh
id_rsa id_rsa.pub

# xserverに公開鍵(public key)を覚えさせる。
ssh-copy-id -i ~/.ssh/id_rsa.pub USER@XSERVER -p 10022

# サーバにログインして、~/.ssh/authorized_keysというファイルの中に
# public keyが保存されていることを確認(必ずしも確認する必要はない)
ssh xserver
cat ~/.ssh/authorized_keys

# 接続を簡略化するため、local側のconfigを修正(必ずしも必要ではない)

vi ~/.ssh/config
Host xserver
  HostName [サーバーID].xsrv.jp
  Port 10022
  User USERNAME
#  IdentityFile ~/.ssh/id_rsa_xserver
  IdentityFile ~/.ssh/id_rsa_pub

  TCPKeepAlive yes
  IdentitiesOnly yes

# 接続テスト(Passwordなしで接続できます)
ssh xserver

参考にさせていただきました。ありがとうございます。

レンタルサーバーでMySQLを使う場合、phpMyAdmin等のGUIツールを用いて操作することが多いんですが、大量のデータを一括処理したい場合など、phpMyAdminでは手に負えず「コマンド操作」が必要になる場合があります。今回、エック
最近なぜかエックスサーバーにssh接続する機会が増えたので手順をメモ。
#パスワードなしでscpまずは、(1) ssh-keyを作る。$ ssh-keygen -t rsaすると、Enter file in which to save the key (/ho…