1. 程式人生 > >linux 常用命令(三)ssh

linux 常用命令(三)ssh

AD HA key direct password IT 常用 是否可用 erp

linux 常用命令(三)ssh

(1) 安裝並配置 SSH 無密碼登陸

CentOS 默認已安裝了 SSH client、SSH server,打開終端執行如下命令進行檢驗

rpm -qa | grep ssh

如果返回的結果如下圖所示,包含了 SSH client 跟 SSH server,則不需要再安裝

若需要安裝,則可以通過 yum 進行安裝:

yum -y install openssh-clients openssh-server

接著執行如下命令測試一下 SSH 是否可用:

ssh localhost

此時會有如下提示(SSH 首次登陸提示),輸入 yes 。然後按提示輸入密碼,這樣就登陸到本機了。

[root@master home]# ssh localhost
The authenticity of host ‘localhost (::1)‘ can‘t be established.
ECDSA key fingerprint is bd:66:a8:94:98:d5:0b:f3:bc:e9:5c:41:4c:ca:b3:d4.
Are you sure you want to continue connecting (yes/no)? yes   
Warning: Permanently added ‘localhost‘ (ECDSA) to the list of known hosts.
root@localhost‘s password: 
Last login: Fri Apr 20 07:07:31 2018 from 192.168.2.1

但這樣登陸是需要每次輸入密碼的,我們需要配置成 SSH 無密碼登陸比較方便。

首先輸入 exit 退出剛才的 ssh,就回到了我們原先的終端窗口,然後利用 ssh-keygen 生成密鑰,並將密鑰加入到授權中:

exit                           # 退出剛才的 ssh localhost
cd ~/.ssh/                     # 若沒有該目錄,請先執行一次ssh localhost
rm ./id_rsa*                   # 刪除之前生成的公匙(如果有)
ssh-keygen -t rsa              # 會有提示,都按回車就可以
cat id_rsa.pub >> authorized_keys  # 加入授權
chmod 600 ./authorized_keys    # 修改文件權限,否則無法登陸,親測

註意: 一定要 chmod 來一下,不然無法起作用。此時再用 ssh localhost 命令,無需輸入密碼就可以直接登陸了。

scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/

scp 是 secure copy 的簡寫,用於在 Linux 下進行遠程拷貝文件,類似於 cp 命令,不過 cp 只能在本機中拷貝。執行 scp 時會要求輸入 slave1 上 hadoop 用戶的密碼(hadoop)。

sudo vim /etc/ssh/sshd_config

RSAAuthentication yes       # 啟用 RSA 認證
PubkeyAuthentication yes    # 啟用公鑰私鑰配對認證方式

ssh -vvv 192.168.2.101

/var/log/secure日誌看到是權限問題:Dec 21 14:54:55 SHLT-TB-ORACLEBAK sshd[12347]: Authentication refused: bad ownership or modes for directory /home/oracle (tailf /var/log/secure)

sshd為了安全,對屬主的目錄和文件權限有所要求。如果權限不對,則ssh的免密碼登陸不生效。
用戶目錄權限為 755

rsa_id.pub 及authorized_keys權限一般為644
rsa_id權限必須為600。


每天用心記錄一點點。內容也許不重要,但習慣很重要!

linux 常用命令(三)ssh