1. Linux で鍵を生成する
「man ssh-keygen」コマンドによる ssh-keygen のコマンドマニュアル:
コマンド「ssh-keygen -t rsa」
ユーザーのルートディレクトリに「.ssh」フォルダが生成されます
「.ssh」と入力すると以下のファイルが生成されます
Authorized_keys: 主にこれを介して、リモートのパスワードなしログイン用の公開鍵を保存しますファイルは複数のマシンの公開鍵を記録します
id_rsa: 生成された秘密鍵ファイル
id_rsa.pub: 生成された公開鍵ファイル
know_hosts: 既知のホスト公開鍵のリスト
ssh 公開鍵を有効にしたい場合は、少なくとも次の 2 つの条件を満たしている必要があります:
1) .ssh ディレクトリの権限は 700 である必要があります
2) .ssh/authorized_keys ファイルの権限は 600 である必要があります
2. リモートパスワードなしログイン
回路図:
以下がよく使われます メソッド:
2.1 ssh-copy-id経由
コマンド: ssh-copy-id -i ~/.ssh/id_rsa.put
例:
[root@test .ssh]# ssh-copy -id -i ~/.ssh/id_rsa.pub 192.168.91.135
root@192.168.91.135 のパスワード:
次に、「ssh '192.168. 91.135'" にチェックインしてください:
.ssh/authorized_keys
予期しない余分なキーが追加されていないことを確認します。
[root@test .ssh]# ssh root@192.168.91.135
最終ログイン: Mon Oct 10 01:25:49 2016 from 192.168.91.133
[root@localhost ~]#
一般的なエラー:
[root@test ~]# ssh-copy-id -i ~/.ssh/ id_rsa.pub 192.168.91.135
-b ash: ssh-copy-id: command not found //プロンプトコマンドが存在しません
Solution: yum -y install openssh-clients
2.2 コンテンツを相手に書き込むscpを通して当事者のファイル
コマンド: scp -p ~/.ssh/id_rsa.pub root@
例:
[root@test .ssh]# scp -p ~/ .ssh/id_rsa.pub root@192.168.91.135: /root/.ssh/authorized_keys
root@192.168.91.135 のパスワード:
id_rsa.pub 100% 408 0.4KB/s 00:00
[root@test .ssh ]#
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]# ssh root@192.168.91.135
最終ログイン: Mon Oct 10 01:27:02 2016 から 192.168 .91.133
[root@localhost ~] #
2つのステップに分けることもできます:
$ scp ~/.ssh/id_rsa.pub root@
$ cat ~/pub_key >>~/.ssh /authorized_keys ’ から ’ s ’ s へ ‐ ‐ ‐ ‐ ‐Ansible によるバッチパスワード不要
2.3.1 パスワードなしの操作を必要とするマシンホストを /etc/ansible/hosts に追加します:
[Avoid close]
192.168.91.133
192.168.91.134
2.3.2 Secret Operation
ansible
-m allowed_key - a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
例:
[root @test sshpass-1.05]# ansible test -m allowed_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
SSHパスワード : ----->パスワードを入力
192.168.91.135 | success >> {
"changed": true,
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArZI4kxlYuw7j1nt5ueIpTPWfGBJoZ8Mb02OJHR8yGW7A3izw T3/uhkK7RkaG avBbAlprp5bxp3i0TyNxa/apBQG5NiqhYO8YCuiGYGsQAGwZCBlNLF3gq1/18B6FV5moE/8yTbFA4dBQahdtVP PejLlSAbb5ZoGK8AtLlcRq49IENoXB99tnFVn3gMM0aX24 ido1ZF9RfRWzfYF7bV sLsrIiMPmVNe5KaGL9kZ0svzoZ708yjWQQCEYWp0m+sODbtGPC34HMGAHjFlsC/SJffLuT/ug /hhCJUYeExHIkJF8OyvfC6DeF7ArI6zdKER7D8M0SM WQmpKUltj2nltuv3w== root@ localhost.localdomain",
"key_options": null,
"keyfile": "/root/.ssh/authorized_keys",
"manage_dir": true,
"path": null,
" state": "present",
"unique": false,
"user": "root"
}
[root@test sshpass-1.05]#
2.4 手動でコピー&ペーストする方法
ローカルのid_rsa.pubファイルを変更する 内容を~にコピーします。リモートサーバー上の /.ssh/authorized_keys ファイル