關於linux系統ssh遠端免密登入的問題

2021-08-10 18:34:11 字數 1133 閱讀 6883

rsync命令的前提是建立ssh遠端免密登入。

在ubuntu系統下面是自帶openssh 客戶端的,在centos系統下面有可能沒有安裝客戶端,若沒有安裝使用yum命令安裝客戶端。

一般ssh命令是root許可權下設定的,但是出於安全考慮很多linux系統不允許root直接登入,有的會採用先允許普通使用者登入,普通使用者登入成功後允許其輸入root密碼提權,這也對ssh的設定產生了些許影響,說明如下:

開啟a主機的控制終端,輸入ssh-keygen命令,按兩次回車,生成金鑰對。

在當前目錄下執行cd .shh進入.ssh目錄,這個。.ssh目錄一般是被隱藏起來的,但是可以通過ll命令檢視,但是通過ls命令確實是無法檢視的。

執行遠端拷貝命令

scp id_rsa.pub [email protected]:.ssh/id_rsa.pub

輸入遠端使用者密碼,回車

ssh [email protected]

輸入密碼進入遠端主機

cd /home/ubuntu/.ssh

將公鑰內容追加到authorized_keys

cat  id_rsa.pub >> authorized_keys

檢視authorized_keys

cat  authorized_keys

修改 authorized_keys 許可權

chmod 600 authorized_keys

修改.ssh許可權

chmod 700 .ssh

使用exit命令返回a主機

使用ssh [email protected]

嘗試連線遠端主機,誒?仍然要求輸入密碼,為什麼?

實際上通過ll命令可以看到,.ssh和authorized_keys的使用者和使用者組都是root,那麼ubuntu當前非root使用者自然是無法使用這兩個檔案的。

解決方法,

使用chown ubuntu .ssh ,chgrp .ssh 修改.ssh使用者和使用者組

使用chown ubuntu authorized_keys  ,chgrp ubuntu authorized_keys 修改.authorized_keys使用者和使用者組

使用ssh [email protected]

嘗試連線遠端主機,成功!

SSH免密碼遠端登入Linux

其實這個問題的網上 園子裡已經有很多的部落格介紹了,但多數都忽略了乙個問題,就是生成公鑰時是不要輸入密碼的,整理一下 1.有a,b兩台機 linux unix 要想從a用ssh遠端登入到b上 假設各自的ip,a 192.168.100 b 192.168.1.104 2.在a機上,用 ssh key...

linux 遠端ssh免密登入

先說說需求 我們平時開發 運維操作linux過程中經常需要實現將遠端檔案拷貝到本地或者本地檔案拷貝到遠端 執行遠端命令等操作 這個時候建立ssh免密登入應該是乙個比較好的選擇 原理 在linux系統中,ssh是遠端登入的預設工具,因為該工具的協議使用了rsa dsa的非對稱加密演算法 非對稱加密演算...

ssh 配置遠端免密登入 linux

1.本地客戶端生成金鑰対 名字預設即可,密碼輸入ssh登入時的密碼 ssh keygen t rsa命令執行完後 本地會在.ssh 資料夾中生成相應檔案 2.將生成的公鑰 id rsa.pub 傳至遠端,並放在.ssh 目錄下 命名為authorized keys並加上相關許可權 如服務端已有此檔案...