HumansXドキュメントセンター 公式サイトへ ↗

ssh

ssh コマンド は OpenSSH スイートのクライアント接続ツールで、SSH 暗号化プロトコルに基づいてサーバーへの安全なリモートログインを実現します。

構文

ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]
  • destination:接続先のリモート SSH サーバーを指定します;
  • command:リモート SSH サーバーで実行するコマンド。

オプション

  • -4:IPv4 アドレスの使用を強制します。
  • -6:IPv6 アドレスの使用を強制します。
  • -A:認証エージェント接続の転送を有効にします。
  • -a:認証エージェント接続の転送を無効にします。
  • -B:接続先ホストへの接続を試みる前に、bind_interfaceのアドレスにバインドします。複数のアドレスを持つシステムで便利です。
  • -b:ローカルの指定アドレスを接続の送信元 IP アドレスとして使用します。
  • -C:すべてのデータの圧縮を要求します。
  • -F:SSH コマンドの設定ファイルを指定します。
  • -f:SSH コマンドをバックグラウンドで実行します。
  • -g:リモートホストがローカルの転送ポートに接続することを許可します。
  • -i:ID(秘密鍵)ファイルを指定します。
  • -l:リモートサーバーに接続するログインユーザー名を指定します。
  • -N:リモートコマンドを実行しません。
  • -o:設定オプションを指定します。
  • -p:リモートサーバーのポートを指定します。
  • -q:サイレントモード。
  • -X:X11 転送を有効にします。
  • -x:X11 転送を無効にします。
  • -y:信頼された X11 転送を有効にします。

よく使うコマンド

# ssh 用户名@远程服务器地址
ssh sunrise@192.168.1.10
# 指定端口
ssh -p 2211 sunrise@192.168.1.10

# ssh 大家族
ssh -p 22 user@ip  # 默认用户名为当前用户名,默认端口为 22
ssh-keygen # 为当前用户生成 ssh 公钥 + 私钥
ssh-keygen -f keyfile -i -m key_format -e -m key_format # key_format: RFC4716/SSH2(default) PKCS8 PEM
ssh-copy-id user@ip:port # 将当前用户的公钥复制到需要 ssh 的服务器的 ~/.ssh/authorized_keys,之后可以免密登录

リモートサーバーに接続

ssh username@remote_host

ポートを指定してリモートサーバーに接続

ssh -p port username@remote_host

鍵ファイルを使ってリモートサーバーに接続

ssh -i path/to/private_key username@remote_host

ローカルからリモートコマンドを実行

ssh username@remote_host "command"

ローカルポートをリモートサーバーに転送

ssh -L local_port:remote_host:remote_port username@remote_host

リモートサーバーのポートをローカルに転送

ssh -R remote_port:local_host:local_port username@remote_host