使用ssh記住密碼


前言:開發工作中,由於有時需要通過ssh登錄遠程服務器上去,每次都要輸入密碼,密碼很難記,感覺很麻煩,於是上網搜了通過 

ssh自動登錄遠程服務器上去,從而免去了每次都要輸入密碼的困擾。 

系統說明: 
本地機器:Debian
遠程機器:centos

步驟: 
A.本地機器需要做的修改工作 

1.通過ssh-keygen產生RSA公私密鑰對 
#ssh-keygen 

一路敲回車下去,最后在~/.ssh文件夾下生成id_rsa和id_rsa.pub兩個文件 

然后改一下 . ssh 目錄的權限,使用命令 "chmod 755 ~/.ssh" 
代碼:

   [user1@rh user1]$ chmod 755 ~/.ssh 


2.在~/.ssh文件夾下創建config文件 
具體如下: 

Host abc //服務器別名 

HostName xxx.xxx.xxx.xxx //服務器的ip地址 

User root  // 

Port 22  //ssh服務端口 

注:如果需要對遠程多台機子配置,則config文本文件里面再添加一條記錄,格式和上面的一樣。 

3.用 ssh-copy-id 把公鑰復制到遠程主機上
ssh-copy-id -~/.ssh/id_rsa.pub root@192.168.0.3

B.遠程機器需要做的修改工作 

1.用vi打開/etc/ssh/sshd_config這個文件 
將下面幾行前面“#”注釋取掉 
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys 

2.在用戶根目錄下創建.ssh文件夾,如果已經有了就不用創建了.具體路徑為(~/.ssh) 
# cd ~/.ssh 
在.ssh文件夾下建立authorized_keys文件,記住authorized_keys是文件,不是文件夾。 
將先前客戶端上傳id_rsa.pub文件中的內容拷貝粘貼到authorized_keys中去, 
然后保存authorized_keys。 
然后輸入 :chmod 600 authorized_keys
3.重啟ssh服務命令 

#service sshd restart 

C.回到本機機器linux客戶端進行測試 

在終端中敲入命令 

# ssh abc //注abc 是config文件中配置的服務器別名 

就直接進入遠程服務器了,是不是很方便,呵呵。 

備注:這一步如果出現bad owers啥錯誤時 需要改名.ssh文件夾和里面文件權限才行 
具體命令如下: 
#chmod 600 ~/.ssh 
#chmod go+rwx ~/.ssh/*

HowTo: Restart SSH Service under Linux / UNIX

CentOS / RHEL / Fedora / Redhat Linux Restart SSH

# /etc/init.d/sshd restart
OR
# service sshd restart

Debian / Ubuntu Linux Restart SSH

# /etc/init.d/ssh restart
OR
# service ssh restart

FreeBSD Restart SSH

# /etc/rc.d/sshd restart

UNIX Restart SSH

# kill -HUP `cat /var/run/sshd.pid`

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM