A機為本地主機(即用于控制其他主機的機器) B機為遠端主機(即被控制的機器server)B機:192.168.3.145 假如A機無密碼登入B機器 A機上的指令: 1,ssh-keygen -t rsa (連續三次回車,即在本地生成公鑰和私鑰, 不設定密碼) 2, ssh [email protected] "mkdir .ssh; chmod 0700 .ssh" (需要輸入密碼, 注:ssh的權限設為700) 3,scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/id_rsa.pub(需要輸入密碼) 在B上的指令: # touch /root/.ssh/authorized_keys (如果已經存在這個檔案, 跳過這條) # chmod 600 ~/.ssh/authorized_keys (# 注意: 必須将~/.ssh/authorized_keys的權限改為600, 該檔案用于儲存ssh用戶端生成的公鑰,可以修改伺服器的ssh服務端配置檔案/etc/ssh/sshd_config來指定其他檔案名) # cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (将id_rsa.pub的内容追加到 authorized_keys 中, 注意不要用 > ,否則會清空原有的内容,使其他人無法使用原有的密鑰登入) 回到A機器: # ssh [email protected] (不需要密碼, 登入成功) 注:假如失敗, 看看selinux是否打開 關閉selinux : setenforce 0(臨時關閉) vim /etc/selinux/config
将SELINUX=enforcing改為SELINUX=disabled 重新開機就好
轉載于:https://www.cnblogs.com/augustyang/p/6087155.html