linux ssh 快捷方式

周海漢 /文

2010.3.31

ablozhou # gmail.com

概述

因爲要管理數十臺linux服務器,經常用ssh連接。苦惱的是每次ssh連接時都要輸一半天命令,類似:

 

ssh -p 2345 [email protected]

password:

 

能否簡短快捷一點呢?

 

ssh快捷配置

其實可以在自己用戶名下配置.ssh/config

如下:

 

此時,如果想訪問centdev,原來需要

ssh -p 2345 zhouhh@centdev   (配置hosts)

ssh -p 2345 [email protected]

現在只需用ssh centdev就可以了。

 

但是還需要輸入密碼。結合以前我寫的《用密鑰登錄linux服務器

》,設置密鑰,可以連密碼都省了。

省略輸入用戶名密碼

先生成密鑰



密鑰文件的密碼選擇空。
此時,可以看到.ssh裏面有如下文件:
zhouhh@zhh64:~$ ls .ssh
config id_rsa id_rsa.pub known_hosts
其中id_rsa是私鑰,id_rsa.pub是公鑰。


配置目標機器
在目標機器,需編輯/etc/ssh/sshd_config
確認如下選項
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/pub_keys

AuthorizedKeysFile ~/.ssh/pub_keys

如用戶名下不存在.ssh目錄,需創建,並修改屬性爲700.
將.ssh裏面的id_rsa.pub改名爲pub_keys
重啓sshd
[zhouhh@svnserv ~]$ ls .ssh
ls: .ssh: 沒有那個文件或目錄
[zhouhh@svnserv ~]$ mkdir .ssh
[zhouhh@svnserv ~]$ cd .ssh
[zhouhh@svnserv .ssh]$ ls
id_rsa.pub
[zhouhh@svnserv .ssh]$ cp id_rsa.pub pub_keys
[zhouhh@svnserv .ssh]$ ls -l
總計 16
-rw-r--r-- 1 zhouhh zhouhh 394 04-01 10:13 id_rsa.pub
-rw-r--r-- 1 zhouhh zhouhh 394 04-01 10:14 pub_keys
[zhouhh@svnserv .ssh]$ cd ..
[zhouhh@svnserv ~]$ chmod 700 .ssh
[root@svnserv ~]# service sshd restart
停止 sshd: [確定]
啓動 sshd: [確定]

拷貝公鑰
需將公鑰拷貝到目標機器。
zhouhh@zhh64:~/.ssh$ scp id_rsa.pub zhouhh@svn:~/.ssh/.
[email protected]'s password:
id_rsa.pub 100% 394 0.4KB/s 00:00

此時,用如下命令無須密碼即可進入:
zhouhh@zhh64:~$ ssh zhouhh@svn
[zhouhh@svnserv ~]$

配置本地使用私鑰
再編輯本地的.ssh/config
[zhouhh@svnserv ~]$ exit
logout
Connection to 192.168.12.232 closed.
zhouhh@zhh64:~$ vi .ssh/config
修改其配置文件:

注意 IdentityFile,填寫本地私鑰文件地址。

此時,只需ssh svn就可以直接訪問目標地址了,無須輸入用戶名密碼。
zhouhh@zhh64:~$ ssh svn
Last login: Thu Apr 1 10:16:27 2010 from 192.168.11.116
[zhouhh@svnserv ~]$

總結
經過如上的配置,對那些維護機器量很大的或經常需要ssh登入登出的人,至少在登錄這一關,一勞永逸了。
參考:
http://sial.org/howto/openssh/publickey-auth/
http://linuxtoy.org/archives/ssh-tip-creating-shortcut.html
用密鑰登錄linux服務器


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章