當前位置:首頁 » 操作系統 » linux生成密鑰

linux生成密鑰

發布時間: 2022-05-06 05:17:09

Ⅰ 如何在linux里為ca生成一個私鑰

[root@apache ~]# yum install openssl

生成證書文件
創建一個rsa私鑰,文件名為server.key
[root@apache ssl]# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long molus
…………++++++
…………++++++
e is 65537 (0x10001)
用 server.key 生成證書簽署請求 CSR
openssl req -new -key server.key -out server.csr
Country Name:兩個字母的國家代號
State or Province Name:省份名稱
Locality Name:城市名稱
Organization Name:公司名稱
Organizational Unit Name:部門名稱
Common Name:你的姓名
Email Address:地址
至於 『extra』 attributes 不用輸入.直接回車
生成證書CRT文件server.crt。
[root@apache ssl]# openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt

Ⅱ linux下怎麼樣設置ssh無密碼登錄

1.Linux下生成密鑰
ssh-keygen的命令手冊,通過」man ssh-keygen「命令:

通過命令」ssh-keygen -t rsa「

生成之後會在用戶的根目錄生成一個 「.ssh」的文件夾

進入「.ssh」會生成以下幾個文件

authorized_keys:存放遠程免密登錄的公鑰,主要通過這個文件記錄多台機器的公鑰
id_rsa : 生成的私鑰文件
id_rsa.pub :生成的公鑰文件
know_hosts : 已知的主機公鑰清單
如果希望ssh公鑰生效需滿足至少下面兩個條件:
1) .ssh目錄的許可權必須是700
2) .ssh/authorized_keys文件許可權必須是600
2.遠程免密登錄
原理圖:

常用以下幾種方法:
2.1 通過ssh--id的方式
命令: ssh--id -i ~/.ssh/id_rsa.put <romte_ip>
舉例:
[root@test .ssh]# ssh--id -i ~/.ssh/id_rsa.pub 192.168.91.135
[email protected]'s password:
Now try logging into the machine, with "ssh '192.168.91.135'", andcheck in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@test .ssh]# ssh [email protected]
Last login: Mon Oct 10 01:25:49 2016 from 192.168.91.133
[root@localhost ~]#
常見錯誤:
[root@test ~]# ssh--id -i~/.ssh/id_rsa.pub 192.168.91.135
-bash: ssh--id: command not found //提示命令不存在
解決辦法:yum -y installopenssh-clients

2.2通過scp將內容寫到對方的文件中
命令:scp -p~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
舉例:
[root@test .ssh]# scp -p ~/.ssh/[email protected]:/root/.ssh/authorized_keys
[email protected]'s password:
id_rsa.pub 100% 408 0.4KB/s 00:00
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]# ssh [email protected]
Last login: Mon Oct 10 01:27:02 2016 from 192.168.91.133

[root@localhost ~]#

也可以分為兩步操作:
$ scp ~/.ssh/id_rsa.pubroot@<remote_ip>:pub_key //將文件拷貝至遠程伺服器
$ cat ~/pub_key>>~/.ssh/authorized_keys //將內容追加到authorized_keys文件中,不過要登錄遠程伺服器來執行這條命令
2.3 通過Ansible實現批量免密
2.3.1 將需要做免密操作的機器hosts添加到/etc/ansible/hosts下:
[Avoid close]
192.168.91.132
192.168.91.133
192.168.91.134

2.3.2 執行命令進行免密操作

ansible<groupname> -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub') }}'" -k

示例:
[root@test sshpass-1.05]# ansible test -m authorized_key -a"user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
SSH password: ----->輸入密碼
192.168.91.135 | success >> {
"changed": true,
"key": "ssh-rsa 7A3izwT3///18B6FV5moE/8yTbFA4dBQahdtVP +sODbtGPC34HMGAHjFlsC/SJffLuT/ug/== [email protected]",
"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文件中

Ⅲ 如何在Linux伺服器上配置SSH密鑰驗證

客戶端設置

客戶需要生成密鑰對(公共和私有)。 稍後我們會將公鑰上傳到SSH伺服器。

ssh-keygen

生成SSH密鑰時,系統將提示您輸入密碼。 我們建議在此步驟中使用新密碼。 這將避免別人使用你的鑰匙。

將公鑰上傳到伺服器

現在我們將使用ssh--id命令來上傳密鑰。 您可以手動將公鑰(~/.ssh/id_rsa.pub)附加到伺服器上的~/.ssh/authorized_keys。

ssh--id user@hostname

更安全的SSH設置

此步驟是可選的,但建議禁用密碼驗證(特別是root用戶)打開文件 /etc/ssh/sshd_config 並將PasswordAuthentication更改為「no」值。

PasswordAuthentication no

確保在重新啟動SSH伺服器之前測試您的ssh密鑰驗證!

sudo service ssh restart

Ⅳ linux生成的rsa秘鑰在哪

方法一, 有的時候經常需要登錄ssh,每次都需要輸入密碼,會比較繁瑣。所以設置了一下使用RSA公鑰認證的方式登錄Linux。 首先需要在伺服器端設置/etc/ssh/sshd_config # vim /etc/ssh/sshd_config 修改如下兩行為yes。其實大多數情況下不用修改,默認就是yes。 RSAAuthentication yes PubkeyAuthentication yes (1) 如果客戶機和伺服器都是Linux機器,那麼我們使用下面的方法:(後面第2節會提到怎麼在Windows下使用Putty生成密鑰對) 我們需要在客戶端生成RSA密鑰對。使用ssh-keygen命令: # ssh-keygen -t rsa 參數t的意思是type,後面跟著加密類型,這里我們是rsa。 然後會提示你輸入密鑰保存完成文件名,這里我們需要使用默認的id_rsa,之後才能正常才能登錄。如果你生成的密鑰作為其他用處,那麼可以命名為其他名稱: Generating public/private rsa key pair. Enter file in which to save the key (/home/cake/.ssh/id_rsa): 之後會提示你輸入一個passphrase,我們這里可以留空,這樣我們登錄的時候就不許輸入密碼。 Enter passphrase (empty for no passphrase): Enter same passphrase again: 然後會提示你密鑰生成成功。這是你的私鑰保存為~/.ssh/id_rsa,你的公鑰是~/.ssh/id_rsa.pub 我們現在需要做的是,把id_rsa.pub的內容,添加的伺服器端的~/.ssh/autherized_keys文件最後。 你可以把這個文件上傳到伺服器端,然後使用命令: # cat id_rsa.pub >> ~/.ssh/autherized_keys 到這里就完成了。 (2) 在Windows下使用Putty生成密鑰對: Putty的安裝目錄下有個puttygen.exe程序,我們運行這個程序。 之後點擊Generate,開始生成密鑰對。我們需要根據提示,在指定方框內隨機滑動滑鼠。這是為了根據滑鼠軌跡,產生一些隨機數據。 之後生成結束,我們點擊Save Private Key將私鑰存放在某個目錄中。然後賦值最上面文本框中的全部內容,粘貼到Linux伺服器端的autherized_key的最後。 我們現在可以關閉這個小程序。 現在打開Putty,在左邊的選項中,選擇Conneciton–SSH–Auth,在Private key file for authentication中,選擇剛才保存的私鑰路徑就可以了。 到此位置,Putty也可以不用密碼登錄了。 方法二 使用Linux主機生成的密匙 1、生成密匙 [root@ .ssh]#ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@ 2、將 /root/.ssh/id_rsa.pub改名為/root/.ssh/authorized_keys [root@ .ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 3、將私鑰id_rsa拷貝到遠程客戶端 1)、如果遠程客戶端是linux,拷貝到遠程客戶端/root/.ssh/即可 2)、putty作為遠程客戶端在 putty不能識別直接從伺服器拷貝來的私鑰,需要使用puttygen.exe進行格式轉換 (1)、打開puttygen.exe --> Conversions --> Import Key (2)、選擇拷貝過來的私鑰文件id_rsa (3)、Save private key->id_rsa.ppk(保存私鑰) 4、打開putty.exe 1)、Session --> Host Name (填寫伺服器地址或者域名) 2)、Connection --> SSH --> Auth (點Browse選擇剛生成的id_rsa.ppk) 3)、open 成功打開後出現如下提示: login as: root Authenticating with public key "imported-openssh-key" ---------------------------------------------------------------------------------- 當然你有可能會遇到這個錯誤 [因為我遇到了,呵呵]: Permissions 0755 for '你配置的公鑰文件路徑' are too open. 這個是因為這幾個文件許可權設置的有點問題 執行命令: chmod 600 你的文件

Ⅳ linux生成證書公私鑰的那副圖代表什麼意思

我來解釋一下吧,不過不知道你的那副圖是什麼。

假設A和B兩台伺服器,A需要訪問B,則在A上生成公鑰私鑰對,使用:
ssh-keygen -t rsa # 產生rsa的密鑰對
然後在A機器的這個用戶的家目錄下,~/.ssh目錄,下面有id_rsa和id_rsa.pub,分別是私鑰和公鑰。私鑰是一把鑰匙,用於解密;公鑰是一把鎖,用於加密。A訪問B,也就是A帶著鑰匙去開B的鎖,A訪問B之前,需要把A的公鑰告知B(也就是A把鎖給B),也就是A的id_rsa.pub(公鑰)里的內容寫入B的某個用戶的家目錄下,~/.ssh目錄下的authorized_keys文件(默認不存在)。請確保authorized_keys許可權為600,不然A無法訪問B。因為這個文件是安全文件,許可權不對,Linux會認為不安全。

Ⅵ linux不用ssh-keygen生成密鑰可以使用ssh服務嗎

請使用gnupg(命令為gpg),我干過這種事,如果覺得字元界面不方便的話,可以安裝一些圖形前端,比如kde下的kgpg或者kleopatra,不但可以加密字元串,而且可以加密二進制數據
ssh-keygen生成出來的密鑰只能用來「驗證」
而你需要的是「加密」

補充回答:
gpg絕對可以,我曾經用gpg加密過4.5G的DVD iso,不過,正如你知道的那樣,公鑰體制速度是巨慢的。
假設你已經創建了密鑰對名稱為abc, 要加密M07A0bpp-Duke.pdf
gpg -e -r abc M07A0bpp-Duke.pdf
將得到的M07A0bpp-Duke.pdf.gpg發送即可
當abc解密時,輸入以下命令即可
gpg -u abc M07A0bpp-Duke.pdf.gpg

Ⅶ linux怎麼用秘鑰登錄

1. 製作密鑰對
在伺服器上製作密鑰對。首先用密碼登錄到你打算使用密鑰登錄的賬戶,然後執行以下命令:
[root@host ~]$ ssh-keygen <== 下面是相應的操作提示,以及密鑰生成的位置都會告訴我們。
Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 EnterCreated directory '/root/.ssh'.Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空Enter same passphrase again: <== 再輸入一遍密鑰鎖碼Your identification has been saved in /root/.ssh/id_rsa. <== 私鑰Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公鑰The key fingerprint is:0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

在 當前 用戶的家目錄中生成了一個 .ssh 的隱藏目錄,內含兩個密鑰文件。id_rsa 為私鑰,id_rsa.pub 為公鑰。

2. 在伺服器上安裝公鑰
鍵入以下命令,在伺服器上安裝公鑰:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys

如此便完成了公鑰的安裝。為了確保連接成功,請保證以下文件許可權正確:
[root@host .ssh]$ chmod 600 authorized_keys[root@host .ssh]$ chmod 700 ~/.ssh

3. 設置 SSH,打開密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件,添加如下設置:

sudo vi /etc/ssh/sshd_config
RSAAuthentication yesPubkeyAuthentication yes

接著保存後 另外,請留意 root 用戶能否通過 SSH 登錄:PermitRootLogin yes

當你完成全部設置,並以密鑰方式登錄成功後,再禁用密碼登錄:
PasswordAuthentication no

最後,重啟 SSH 服務:
[root@host .ssh]$ service sshd restart

Ⅷ 我用linux生成密鑰對,可總是出現錯誤

用ssh的話有兩種方式哦1.你知道對方用戶在那台主機的(登錄)密碼,輸入密碼回車就可以了2.用sshkey-gen生成密鑰(比如rsa的)然後到你指定的目錄(生成密鑰時可以指定)下找到公鑰,通過比如U盤或scp拷貝到對方主機的.ssh文件下記得命名為authorized_keys,用chmod600改一下那個啥,然後(如果生成密鑰是沒指定密碼)應該就可以直接登入具體網上查哈
第一次登錄Linux主機的時候會詢問是否下載密鑰:
The authenticity of host '10.19.194.47 (10.19.194.47)' can't be established.
RSA key fingerprint is 23:9d:87:92:3a:18:cc:a1:7a:5b:9e:91:d6:56:cd:b1.
Are you sure you want to continue connecting (yes/no)?
當輸入yes後,以後登錄就不會再次出現,請問怎麼讓他第一次也不出現?就是默認為yes。

Ⅸ linux下ssh怎麼登錄

您好,1.使用用戶名密碼登錄
在命令行中輸入命令:
ssh username@ip_address -p port
之後系統會提示輸入密碼,輸入後即可登錄。
如果不添加-p選項,則默認是22埠
還可以使用-l選項輸入用戶名:
ssh -l username ip_address -p port
2.使用密鑰登錄(不使用密碼)
首先生成密鑰,在任意目錄下輸入命令:
ssh-keygen -t rsa -P ''
-P表示密碼,-P ''表示空密碼
之後系統會提示輸入生成的密鑰文件的文件名,可以輸入任意名稱,比如id_rsa,回車
系統會在當前目錄下生成id_rsa與id_rsa.pub兩個文件
在根目錄下新建.ssh文件夾,將生成的密鑰文件拷貝過去
mkdir -p ~/.ssh
-p選項表示如果文件夾已經存在則不再新建。
然後將之前生成的兩個文件都拷貝到.ssh文件夾中
cp id_rsa* ~/.ssh/
把公鑰文件id_rsa.pub拷貝到需要登錄的伺服器上
用scp命令
scp -P port ~/.ssh/id_rsa.pub username@ip_address:~
-P表示要登錄伺服器的埠好,不加默認為22。
之後系統會提示輸入密碼,輸入即可完成拷貝
登錄遠程伺服器,在用戶根目錄下新建.ssh文件夾(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中
mkdir -p ~/.ssh
這是在遠程伺服器上新建ssh文件夾
cat id_rsa.pub >> .ssh/authorized_keys
將id_rsa.pub文件添加到authorized_keys文件中(如文件不存在則新建)
注意:要保證.ssh與authorized_keys用戶自己都有寫許可權
退出當前遠程登錄,之後就可以不使用密碼遠程登錄了

Ⅹ Linux重復生成秘鑰會影響之前配對的主機嗎

看你把密鑰保存在那兒了,如果替換了舊的密鑰,當然之前配對的主機就不能連接了。需要添加新密鑰到配對主機。

熱點內容
問道刷道隊伍怎麼配置 發布:2024-10-07 12:09:17 瀏覽:321
androidservice使用 發布:2024-10-07 12:00:01 瀏覽:261
樂視2安卓版本怎麼升級 發布:2024-10-07 11:51:11 瀏覽:696
方舟電腦版怎麼進入官方伺服器 發布:2024-10-07 11:09:32 瀏覽:805
百度雲快速上傳 發布:2024-10-07 10:52:25 瀏覽:480
java島嶼 發布:2024-10-07 10:29:25 瀏覽:971
qq會員的密碼是多少 發布:2024-10-07 10:26:03 瀏覽:761
訪問源伺服器ip 發布:2024-10-07 10:24:31 瀏覽:55
腳本整理 發布:2024-10-07 10:20:48 瀏覽:234
圖片上傳功能java 發布:2024-10-07 10:14:18 瀏覽:130