當前位置:首頁 » 操作系統 » linuxssh免密

linuxssh免密

發布時間: 2022-04-19 11:47:34

linux ssh免密碼登錄必須在root下操作嗎

1) 在本地主機生成密鑰對ssh-keygen -t rsa
這個命令生成一個密鑰對:id_rsa(私鑰文件)和id_rsa.pub(公鑰文件)。默認被保存在~/.ssh/目錄下。
2) 將公鑰添加到遠程主機的 authorized_keys 文件中
將文件上傳到遠程主機中
scp ~/.ssh/id_rsa.pub [email protected]:/root/
SSH到登陸到遠程主機192.168.17.113,將公鑰追加到 authorized_keys 文件中
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
或直接運行命令:
cat ~/.ssh/id_dsa.pub|ssh [email protected] 'sh -c "cat - >>~/.ssh/authorized_keys"'
3) 重啟 open-ssh 服務
/etc/init.d/ssh restart
4) 本地測試
ssh [email protected]

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

首先你要有一個無密碼的用戶。
修改ssh配置文件,步驟如下:
1)
修改 /etc/ssh/sshd_config
文件中 PermitEmptyPasswords
這個參數為yes(即允許空密碼的用戶登錄,默認是no)
2)
重啟
ssh服務,service
ssh
restart
3)
重新登錄ssh,即可無密碼登錄。

❸ linux怎麼刪除ssh 免密碼登陸

找到authorized_keys 文件 (例如/root/.ssh/authorized_keys)
假如 有 A、B、C 三台伺服器
如果不想讓A免密登錄B ,那麼修改B伺服器的authorized_keys ,將有A的ip或hostname的那行記錄注釋掉
同理如果都不想免密,把三台伺服器的authorized_keys文件,內容都注釋就OK了

❹ linux系統,多台機器ssh免密碼登錄同一台機器執行某個腳本,不需要expect

A B C三台機器上以當前用戶運行如下命令生成本主機的公鑰和私鑰文件:

ssh-keygen-trsa

上述命令執行後,目錄~/.ssh下會出現兩個文件:id_rsa和id_rsa.pub。其中,id_rsa.pub為公鑰文件。將該文件的內容追加到主機D上~/.ssh目錄下的authorized_keys文件中。例如:

A機將id_rsa.pub文件傳到D機:

scp~/.ssh/id_rsa.pubuser@HOSTD:/tmp/id_rsa_HOSTA.pub

D機user用戶追加authorized_keys文件:

cat/tmp/id_rsa_HOSTA.pub>>~/.ssh/authorized_keys

接下來,就可以在不輸入密碼的情況下在遠程主機私執行命令了。命令格式如下:

ssh 遠程用戶名@遠程主機名或IP地址 '遠程命令或者腳本'

例如:

sshuser@HOSTD'hostname'
sshuser@HOSTD'/home/user/script/test.sh'

需要特別注意的是:當遠程腳本中使用了一些命令識別依賴於環境變數時,該腳本需要在其第一行中包含執行profile文件的命令。比如,在Bash中,該腳本的第一行為:

source~/.bash_profile

否則,遠程腳本可能報錯。

❺ linux如何配置雙機SSH信任然後雙向免密碼登陸

一、實現原理
使用一種被稱為"公私鑰"認證的方式來進行ssh登錄。"公私鑰"認證方式簡單的解釋是:
首先在客戶端上創建一對公私鑰(公鑰文件:~/.ssh/id_rsa.pub;私鑰文件:~/.ssh/id_rsa),然後把公鑰放到伺服器上(~/.ssh/authorized_keys),自己保留好私鑰。當ssh登錄時,ssh程序會發送私鑰去和伺服器上的公鑰做匹配。如果匹配成功就可以登錄了。
二、實驗環境
A機:TS-DEV/10.0.0.163
B機:CS-DEV/10.0.0.188
三、Linux/Unix雙機建立信任
3.1
在A機生成證書
在A機root用戶下執行ssh-keygen命令,在需要輸入的地方,直接回車,生成建立安全信任關系的證書。
#
ssh-keygen
-t
rsa
注意:在程序提示輸入passphrase時直接輸入回車,表示無證書密碼。
上述命令將生成私鑰證書id_rsa和公鑰證書id_rsa.pub,存放在用戶家目錄的.ssh子目錄中。
3.2
查看~/.ssh生成密鑰的文件
#
cd
~/.ssh
#
ll
3.3
A對B建立信任關系
將公鑰證書id_rsa.pub復制到機器B的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys,此時需要輸入B機的root用戶密碼(還未建立信任關系)。建立了客戶端到伺服器端的信任關系後,客戶端就可以不用再輸入密碼,就可以從伺服器端拷貝數據了。
#
scp
-r
id_rsa.pub
10.0.0.188:/root/.ssh/authorized_keys
3.4
B對A建立信任關系
在B機上執行同樣的操作,建立B對A的信任關系。
#
ssh-keygen
-t
rsa
#
cd
~/.ssh/
#
ll
#
scp
-r
id_rsa.pub
10.0.0.163:/root/.ssh/authorized_keys
如果想讓B,C同時可以scp不輸入密碼,傳輸A中的數據;
則要把B、C的公鑰都給
A;
操作步驟:把兩機器的id_rsa.pub中的數據都拷貝到A的/root/.ssh/authorized_keys文件中,一行表示一條;
A:
scp
-r
id_rsa.pub
10.0.0.163:/root/.ssh/authorized_keys
B:
scp
-r
id_rsa.pub
10.0.0.188:/root/.ssh/authorized_keys
測試
ssh
[email protected]
'hostname'
///
ssh
[email protected]
'hostname'
如果連接反應慢,請修改以下兩參數
/etc/ssh/sshd_config
GSSAPIAuthentication
no
UseDNS
no
然後重啟service
sshd
restart

❻ 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遠程linux不用輸入密碼登入

可使用SSH免密碼登錄,假設現在有兩台機器hadoop@wang-PC(192.168.10.100),作為A機,hadoop@chen-PC(192.168.10.107),作為B機。現想hadoop@wang-PC通過ssh免密碼登錄到hadoop@chen-PC。
1.在A機下生成公鑰/私鑰對。

[hadoop@wang-PC ~]$ ssh-keygen -t rsa -P ''

敲擊回車鍵即可,
它在/home/hadoop下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。
2.把A機器下的id_rsa.pub復制到B機器下的.ssh/authorized_keys文件里。

[hadoop@wang-PC ~]$ scp .ssh/id_rsa.pub [email protected]:/home/hadoop/id_rsa.pub.hadoop_wang
[email protected]'s password:

由於還沒有免密碼登錄的,所以要輸入密碼。
3.B機把從A機復制的id_rsa.pub.hadoop_wang添加到.ssh/authorzied_keys文件里。

[hadoop@chen-PC ~]$ cat id_rsa.pub.hadoop_wang >> .ssh/authorized_keys
[hadoop@chen-PC ~]$ chmod 600 .ssh/authorized_keys

authorized_keys的許可權要是600。
4.A機登錄B機。

[hadoop@wang-PC ~]$ ssh 192.168.10.107

第一次登錄是時要你輸入yes。
現在A機可以無密碼登錄B機了。

小結:登錄的機子可有私鑰,被登錄的機子要有登錄機子的公鑰。這個公鑰/私鑰對一般在私鑰宿主機產生。上面是用rsa演算法的公鑰/私鑰對,當然也可以用dsa(對應的文件是id_dsa,id_dsa.pub)
想讓A,B機無密碼互登錄,那B機以上面同樣的方式配置即可,把B的公鑰復制過去添加到authorized_keys的末尾就行了。
至此完畢。

❽ linux ssh怎麼免密登錄

你好,
首先需要在伺服器端設置/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也可以不用密碼登錄了。

❾ 怎麼可以無密碼ssh 訪問linux

1、用ssh-keygen創建公鑰
(1)在伺服器1上執行下面的命令:

[plain] view plain print?
[root@Server1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:
7b:aa:08:a0:99:fc:d9:cc:d8:2e:4b:1a:c0:6b:da:e4root@Server1
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
|. |
|o. S |
|++. . |
|+=o. . . |
|o+=oB. o |
|..E==*... |
+-----------------+
輸入後,會提示創建.ssh/id_rsa、id_rsa.pub的文件,其中第一個為密鑰,第二個為公鑰。過程中會要求輸入密碼,為了ssh訪問過程無須密碼,可以直接回車 。

(2)補充說明:
ssh-keygen:生成秘鑰
其中:
-t指定演算法
-f 指定生成秘鑰路徑
-N 指定密碼

2、查看鑰匙
[plain] view plain print?
[root@Server1 ~]# ls -l .ssh
總用量 8
-rw-------. 1 root root 1675 12月 10 22:20 id_rsa
-rw-r--r--. 1 root root 394 12月 10 22:20 id_rsa.pub
可以發現 ssh目錄下的兩枚鑰匙。

3.將公鑰復制到被管理機器Server2和Server3下的.ssh目錄下(先確保存在這個目錄)
[plain] view plain print?
[root@server1 .ssh]# scp [email protected]:~/.ssh/
The authenticity of host '192.168.1.3(192.168.1.3)' can't be established.
RSA key fingerprint is93:eb:f9:47:b1:f6:3f:b4:2e:21:c3:d5:ab:1d:ae:65.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added '192.168.1.3'(RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub
[root@server1 .ssh]# scp [email protected]:~/.ssh/authorized_keys
The authenticity of host '192.168.1.4(192.168.1.4)' can't be established.
RSA key fingerprint is93:eb:f9:47:b1:f6:3f:b4:2e:21:c3:d5:ab:1d:ae:65.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added '192.168.1.4'(RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub
到Server2和Server3目錄下執行下面的命令

[plain] view plain print?
#cat id_dsa.pub >> ~/.ssh/authorized_keys
4、設置文件和目錄許可權:
設置authorized_keys許可權

[plain] view plain print?
$ chmod 600 authorized_keys
設置.ssh目錄許可權

[plain] view plain print?
$ chmod 700 -R .ssh
5、驗證使用SSH IP地址的方式無密碼訪問
[plain] view plain print?
[root@server1 .ssh]# ssh 192.168.1.3
Last login: Tue Dec 10 22:34:02 2013
[root@Server2 ~]#
[root@Server2 ~]#
[root@Server2 ~]#

熱點內容
為什麼安卓沒法下載神武4 發布:2024-11-15 23:46:18 瀏覽:335
巫師3和英雄聯盟哪個吃配置 發布:2024-11-15 23:46:10 瀏覽:805
qt文件加密 發布:2024-11-15 23:40:35 瀏覽:738
咸陽做腳本的 發布:2024-11-15 23:38:57 瀏覽:773
途觀與探岳哪個配置高 發布:2024-11-15 23:30:39 瀏覽:518
dhcp伺服器如何更新ip地址 發布:2024-11-15 23:18:40 瀏覽:126
ai清除緩存 發布:2024-11-15 23:12:38 瀏覽:603
電腦版我的世界如何退出伺服器 發布:2024-11-15 23:00:39 瀏覽:313
哪裡有存儲器零售商 發布:2024-11-15 22:55:42 瀏覽:47
手機如何設置鎖屏密碼個性 發布:2024-11-15 22:44:08 瀏覽:418