---
# System prepended metadata

title: Command
tags: [Linux]

---

# Command
###### tags: `Linux`

```bash=
# rooかどうかの確認
$ sudo whoami
```

## $ ssh [option] (user@)host [command]
##### option
- -l user
    ログインユーザ指定。
    user@hostと同じ。
- -i file
    秘密鍵ファイルを指定
    ```bash=
    $ ssh -i 秘密鍵ファイル yasui@google.com
    ```
- -p port
    ポート番号を指定。

##### host
リモートのホストを指定。
```bash=
#hostにuserというユーザ名でログイン
$ ssh user@host
#もしくは
$ ssh -l user host
```

##### command
リモートホストで実行するコマンドを指定できる。
commandを指定しないことでリモートにログインできる。
```bash=
#リモートホストでpwdコマンドを実行
$ ssh user@host pwd
```
commandを指定して実行した場合は、コマンド実行後に接続が切れる。

> (引用)sshプロトコルを利用して、リモートホストにログイン、もしくはコマンドを実行するためのコマンド。
認証の主要な方式として、パスワード認証と公開鍵認証の2つがあります。
公開鍵認証の場合は、サーバー側に公開鍵を置く必要がありますが、パスワードの入力なしでログインすることができます。

##### Tips:ホスト名が長い場合
```bash=
# 例えば下記のようにホスト名が長い場合
$ ssh -i ~/.ssh/hogehogehoe_id_rsa hoge_user@hoge.hoasdaedhoasda.com
```
~/.ssh/configに
```
Host hoge
HostName hoge.hoasdaedhoasda.com
User hoge_user
IdentityFile ~/.ssh/hogehogehoe_id_rsa
```

と記載すると
```bash=
$ ssh hoge
```
でアクセスできる。