## CentOSでパスワードなしでssh接続をする設定
ローカル環境で行う作業は[local]%
サーバー環境で行う作業は[server]$
で記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
[server]$ # .sshディレクトリがなければ作成する [server]$ mkdir .ssh [server]$ chmod 700 .ssh [local]% # 鍵を作成する [local]% ssh-keygen -t rsa -C "comment" -f ~/.ssh/id_rsa_file_name [local]% # scpでファイルをアップロード この時はまだパスワードが必要 [local]% # ファイルをアップロードできればツールでもクリップボードでも [local]% scp ~/.ssh/id_rsa_file_name.pub (server_user)@(server_host):~/.ssh/ [server]$ # なければ「authorized_keys」という名前のファイルを作成 [server]$ touch ~/.ssh/authorized_keys [server]$ # authorized_keysの最後に追加 [server]$ cat ~/.ssh/id_rsa_file_name.pub >> ~/.ssh/authorized_keys [server]$ # お掃除 [server]$ rm ~/.ssh/id_rsa_file_name.pub [server]$ # 権限を適正に [server]$ chmod 600 authorized_keys [server]$ # パスワード認証の停止 [server]$ vi /etc/ssh/sshd_config #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys PubkeyAuthentication yes #コメントアウトを外す AuthorizedKeysFile .ssh/authorized_keys #コメントアウトを外す [server]$ # sshdを再起動して有効化 [server]$ service sshd restart [local]% # これでローカルからパスワードなしで接続ができます [local]% ssh (server_user)@(server_host) |
Tips
ユーザー名をconfigに設定する
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[local]% # もしユーザー名指定したい場合 [local]% vi ~/.ssh/config Host ssh_original_host_name HostName (server_host) IdentityFile ~/.ssh/id_rsa_file_name User (server_user) TCPKeepAlive yes [local]% # と設定を追加することで [local]% ssh ssh_original_host_name [local]% # でユーザー指定のssh接続ができます。 |
パーミッションエラー
ログインできない時、パーミッションを疑いましょう。
1 2 |
[local]% vi /var/log/secure |