㈠ 如何使用SSH密鑰方式登錄linux
我們一般使用 PuTTY 等 SSH 客戶端來遠程管理 Linux 伺服器。但是,一般的密碼方式登錄,容易有密碼被暴力破解的問題。所以,一般我們會將 SSH 的埠設置為默認的 22 以外的埠,或者禁用 root 賬戶登錄。其實,有一個更好的辦法來保證安全,而且讓你可以放心地用 root 賬戶從遠程登錄——那就是通過密鑰方式登錄。
密鑰形式登錄的原理是:利用密鑰生成器製作一對密鑰——一隻公鑰和一隻私鑰。將公鑰添加到伺服器的某個賬戶上,然後在客戶端利用私鑰即可完成認證並登錄。這樣一來,沒有私鑰,任何人都無法通過 SSH 暴力破解你的密碼來遠程登錄到系統。此外,如果將公鑰復制到其他賬戶甚至主機,利用私鑰也可以登錄。
下面來講解如何在 Linux 伺服器上製作密鑰對,將公鑰添加給賬戶,設置 SSH,最後通過客戶端登錄。
1. 製作密鑰對
首先在伺服器上製作密鑰對。首先用密碼登錄到你打算使用密鑰登錄的賬戶,然後執行以下命令:
[root@host ~]$ ssh-keygen <== 建立密鑰對
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空
Enter same passphrase again: <== 再輸入一遍密鑰鎖碼
Your identification has been saved in /root/.ssh/id_rsa. <== 私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公鑰
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
密鑰鎖碼在使用私鑰時必須輸入,這樣就可以保護私鑰不被盜用。當然,也可以留空,實現無密碼登錄。
現在,在 root 用戶的家目錄中生成了一個 .ssh 的隱藏目錄,內含兩個密鑰文件。id_rsa 為私鑰,id_rsa.pub 為公鑰。
2. 在伺服器上安裝公鑰
鍵入以下命令,在伺服器上安裝公鑰:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公鑰的安裝。為了確保連接成功,請保證以下文件許可權正確:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
3. 設置 SSH,打開密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件,進行如下設置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,請留意 root 用戶能否通過 SSH 登錄:
PermitRootLogin yes
當你完成全部設置,並以密鑰方式登錄成功後,再禁用密碼登錄:
PasswordAuthentication no
最後,重啟 SSH 服務:
[root@host .ssh]$ service sshd restart
4. 將私鑰下載到客戶端,然後轉換為 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具將私鑰文件 id_rsa 下載到客戶端機器上。然後打開 PuTTYGen,單擊 Actions 中的 Load 按鈕,載入你剛才下載到的私鑰文件。如果你剛才設置了密鑰鎖碼,這時則需要輸入。
載入成功後,PuTTYGen 會顯示密鑰相關的信息。在 Key comment 中鍵入對密鑰的說明信息,然後單擊 Save private key 按鈕即可將私鑰文件存放為 PuTTY 能使用的格式。
今後,當你使用 PuTTY 登錄時,可以在左側的 Connection -> SSH -> Auth 中的 Private key file for authentication: 處選擇你的私鑰文件,然後即可登錄了,過程中只需輸入密鑰鎖碼即可。
㈡ 如何建立linux ssh信任的方法與常見問題
在Linux伺服器之間建立信任關系,是很多線上服務系統的基礎性工作,這樣能便於程序在多台伺服器之間自動傳輸數據,或者方便用戶不輸入密碼就可以在不同的主機間完成登錄或者各種操作。
網上關於建立Linux信任關系(ssh trust)的中文文章有一些,但是寫得都不太詳細,這里匯總了方方面面的資料,把多機信任關系建立方法說說清楚(文/陳運文)
一 建立信任關系的基本操作
基本場景是想從一台Server伺服器直接登錄另一台,或者將Server伺服器的數據不需密碼驗證直接拷貝至Client伺服器,以下我們簡稱Server伺服器為S(待發送的數據文件在這台伺服器上),Client服務為C,信任關系的最簡單操作方法如下:
1 在S伺服器上,進入當前用戶根目錄下的隱藏目錄 .ssh,命令如下:
cd ~/.ssh
(註:目錄名前的點好」.」表示該文件夾是一個特殊的隱藏文件夾,ls命令下默認是看不到的,通過 ls –a 命令觀察到)
2 生成S伺服器的私鑰和公鑰:
ssh-keygen -t rsa
(註:rsa是一種加密演算法的名稱,此處也可以使用dsa,關於rsa和dsa演算法的介紹可見本文後半章節)
ssh-keygen生成密鑰用於信任關系生成
-此時會顯示Generating public/private key pair. 並提示生成的公鑰私鑰文件的存放路徑和文件名,默認是放在 /home/username/.ssh/id_rsa 這樣的文件里的,通常不用改,回車就可以
然後Enter passphrase(empty for no passphrase): 通常直接回車,默認不需要口令
Enter same passphrase again: 也直接回車
然後會顯式密鑰fingerprint生成好的提示,並給出一個RSA加密協議的方框圖形。此時在.ssh目錄下ls,就可以看到生成好的私鑰文件id_rsa和公鑰文件id_rsa.pub了
以下是各種補充說明:
注1:如果此時提示 id_rsaalready exists,Overwrite(y/n) 則說明之前已經有人建好了密鑰,此時選擇n 忽略本次操作就行,可以直接用之前生成好的文件;當然選y覆蓋一下也無妨
注2:公鑰用於加密,春磨模它是向所有人公開的(pub是公開的單詞public的縮寫);私鑰用於解密,只有密文的接收者持有。
3 在Server伺服器上載入私鑰文件
仍然在.ssh目錄下,執行命令:
ssh-add id_rsa
系統如果提示:Identity added: id_rsa (id_rsa) 就表明載入成功了
下面有幾個異常情況處理:
–如果系統提示:could not open a connection to your authentication agent
則需要執行一下命令:
ssh-agent bash
然後再執行上述的ssh-add id_rsa命令
–如果系統提示id_rsa: No such file or directory
這是系統無法找到游桐私鑰文件id_rsa,需要看看當前路徑是不是不在.ssh目錄,或者私鑰文件改了名字,例如如果建立的時候改成 aa_rsa,則這邊命令中也需要相應改一下
-如果系統提示 command not found,那肯定是你命令敲錯字元了J
-提示Agent admitted failure to sign using the key,私鑰沒有載入成功,重試ssh-add
-注意id_rsa/id_rsa.pub文件不要刪除,存放在.ssh目錄下
4 把公鑰拷貝至Client伺服器上扒緩
很簡單,例如 scp id_rsa.pub [email protected]:~
5 ssh登錄到Client伺服器上,然後在Client伺服器上,把公鑰的內容追加到authorized_keys文件末尾(這個文件也在隱藏文件夾.ssh下,沒有的話可以建立,沒有關系)
cat id_rsa.pub >> ~/.ssh/authorized_keys
以下是各種補充說明,遇到問題時可以參考:
注1:這里不推薦用文件覆蓋的方式,有些教程直接scp id_rsa.pub 到Client伺服器的authorized_keys文件,會導致之前建的其他信任關系的數據被破壞,追加到末尾是更穩妥的方式;
注2: cat 完以後,Client伺服器上剛才拷貝過來的id_rsa.pub文件就不需要了,可以刪除或移動到其它地方)
注3:ssh-keygen 命令通過-b參數可以指定生成的密鑰文件的長度,如果不指定則默認為1024,如果ssh-keygen –b 4096(最長4096),則加密程度提高,但是生成和驗證時間會增加。對一般的應用來說,默認長度已經足夠勝任了。如果是rsa加密方式,那麼最短長度為768 byte
注4:authorized_keys文件的許可權問題。如果按上述步驟建立關系後,仍然要驗證密碼,並且沒有其他報錯,那麼需要檢查一下authorized_keys文件的許可權,需要作下修改: chmod g-w authorized_keys
OK,現在試試在Server端拷貝一個文件到Client伺服器,應該無需交互直接就傳過去了。
但是此時從Client傳數據到Server伺服器,仍然是需要密碼驗證的。如果需要兩台伺服器間能直接互傳數據,則反過來按上述步驟操作一下就可以了
二 刪除伺服器間信任關系的方法
如果想取消兩台伺服器之間的信任關系,直接刪除公鑰或私鑰是沒有用的,需要在Client伺服器上,打開 ~/.ssh/ authorized_keys 文件,找到對應的伺服器的公鑰欄位並刪除
每個段落的開頭是ssh-rsa字樣,段尾是Server伺服器的帳號和ip(如下圖紅框),需要細心的找一下後刪除整段
密鑰文件內容和刪除Linux伺服器間信任關系的方法
三 各種可能遇到的情況和處理方法
–提示 port 22: Connection refused
可能的原因:沒有正確安裝最新的openssh-server,安裝方法如下
sudo apt-get install openssh-server
不支持apt安裝的,可以手工下載:
wget ftp.ssh.com/pub/ssh/ssh-3.2.9.1.tar.gz
–關於目錄和文件的許可權設置
.ssh目錄的許可權必須是700,同時本機的私鑰的許可權必須設置成600:
chmod 600 id_rsa
否則ssh伺服器會拒絕登錄
四 關於RSA和DSA加密演算法
在ssh-keygen命令中,-t參數後指定的是加密演算法,可以選擇rsa或者dsa
RSA 取名自演算法的三位提出者Ron Rivest, Adi Shamir, and Leonard Adleman的姓名首字母,作為一種非對稱加密演算法,RSA的安全性基於及其困難的大整數分解(兩個素數的乘積的還原問題)。關於RSA演算法原理的文章很多,感興趣的朋友可以找來讀一讀。
DSA = Digital Signature Algorithm,基於有限域離散對數難題,是Schnorr和ElGamal簽名演算法的變種,一般用於數字簽名和認證,被美國標准局(NIST)採納為數字簽名標准DSS(Digital Signature Standard),based on discrete logarithms computation.
DES = Digital Encryption Standard. Obsolete standard.
RSA演算法好在網路容易實現密鑰管理,便進行數字簽名,演算法復雜,加/解速度慢,採用非對稱加密。在實際用於信任關系建立中,這兩種方法的差異很微小,可以挑選其一使用。
五 關於SSH協議的介紹
SSH全稱Secure SHell,顧名思義就是非常安全的shell的意思,SSH協議是IETF(Internet Engineering Task Force)的Network Working Group所制定的一種協議。SSH的主要目的是用來取代傳統的telnet和R系列命令(rlogin,rsh,rexec等)遠程登陸和遠程執行命令的工具,實現對遠程登陸和遠程執行命令加密。防止由於網路監聽而出現的密碼泄漏,對系統構成威脅。
ssh協議目前有SSH1和SSH2,SSH2協議兼容SSH1。目前實現SSH1和SSH2協議的主要軟體有OpenSSH和SSH Communications Security Corporation公司的SSH Communications 軟體。前者是OpenBSD組織開發的一款免費的SSH軟體,後者是商業軟體,因此在linux、FreeBSD、OpenBSD、NetBSD等免費類UNIX系統種,通暢都使用OpenSSH作為SSH協議的實現軟體。因此,本文重點介紹一下OpenSSH的使用。需要注意的是OpenSSH和SSH Communications的登陸公鑰/私鑰的格式是不同的,如果想用SSH Communications產生的私鑰/公鑰對來登入到使用OpenSSH的linux系統需要對公鑰/私鑰進行格式轉換。
第一次登陸後,ssh就會把登陸的ssh指紋存放在用戶home目錄的.ssh目錄的know_hosts文件中,如果遠程系統重裝過系統,ssh指紋已經改變,你需要把 .ssh 目錄下的know_hosts中的相應指紋刪除,再登陸回答yes,方可登陸。請注意.ssh目錄是開頭是」.」的隱藏目錄,需要ls –a參數才能看到。而且這個目錄的許可權必須是700,並且用戶的home目錄也不能給其他用戶寫許可權,否則ssh伺服器會拒絕登陸。如果發生不能登陸的問題,請察看伺服器上的日誌文件/var/log/secure。通常能很快找到不能登陸的原因。
六 關於ssh_config和sshd_config文件配置的說明
/etc/ssh/ssh_config:
Host *
選項「Host」只對能夠匹配後面字串的計算機有效。「*」表示所有的計算機。
ForwardAgent no
「ForwardAgent」設置連接是否經過驗證代理(如果存在)轉發給遠程計算機。
ForwardX11 no
「ForwardX11」設置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。
RhostsAuthentication no
「RhostsAuthentication」設置是否使用基於rhosts的安全驗證。
RhostsRSAAuthentication no
「RhostsRSAAuthentication」設置是否使用用RSA演算法的基於rhosts的安全驗證。
RSAAuthentication yes
「RSAAuthentication」設置是否使用RSA演算法進行安全驗證。
PasswordAuthentication yes
「PasswordAuthentication」設置是否使用口令驗證。
FallBackToRsh no
「FallBackToRsh」設置如果用ssh連接出現錯誤是否自動使用rsh。
UseRsh no
「UseRsh」設置是否在這台計算機上使用「rlogin/rsh」。
BatchMode no
「BatchMode」如果設為「yes」,passphrase/password(互動式輸入口令)的提示將被禁止。當不能互動式輸入口令的時候,這個選項對腳本文件和批處理任務十分有用。
CheckHostIP yes
「CheckHostIP」設置ssh是否查看連接到伺服器的主機的IP地址以防止DNS欺騙。建議設置為「yes」。
StrictHostKeyChecking no
「StrictHostKeyChecking」如果設置成「yes」,ssh就不會自動把計算機的密匙加入「$HOME/.ssh/known_hosts」文件,並且一旦計算機的密匙發生了變化,就拒絕連接。
IdentityFile ~/.ssh/identity
「IdentityFile」設置從哪個文件讀取用戶的RSA安全驗證標識。
Port 22
「Port」設置連接到遠程主機的埠。
Cipher blowfish
「Cipher」設置加密用的密碼。
EscapeChar ~
「EscapeChar」設置escape字元。
/etc/ssh/sshd_config:
Port 22
「Port」設置sshd監聽的埠號。
ListenAddress 192.168.1.1
「ListenAddress」設置sshd伺服器綁定的IP地址。
HostKey /etc/ssh/ssh_host_key
「HostKey」設置包含計算機私人密匙的文件。
ServerKeyBits 1024
「ServerKeyBits」定義伺服器密匙的位數。
LoginGraceTime 600
「LoginGraceTime」設置如果用戶不能成功登錄,在切斷連接之前伺服器需要等待的時間(以秒為單位)。
KeyRegenerationInterval 3600
「KeyRegenerationInterval」設置在多少秒之後自動重新生成伺服器的密匙(如果使用密匙)。重新生成密匙是為了防止用盜用的密匙解密被截獲的信息。
PermitRootLogin no
「PermitRootLogin」設置root能不能用ssh登錄。這個選項一定不要設成「yes」。
IgnoreRhosts yes
「IgnoreRhosts」設置驗證的時候是否使用「rhosts」和「shosts」文件。
IgnoreUserKnownHosts yes
「IgnoreUserKnownHosts」設置ssh daemon是否在進行RhostsRSAAuthentication安全驗證的時候忽略用戶的「$HOME/.ssh/known_hosts」
StrictModes yes
「StrictModes」設置ssh在接收登錄請求之前是否檢查用戶家目錄和rhosts文件的許可權和所有權。這通常是必要的,因為新手經常會把自己的目錄和文件設成任何人都有寫許可權。
X11Forwarding no
「X11Forwarding」設置是否允許X11轉發。
PrintMotd yes
「PrintMotd」設置sshd是否在用戶登錄的時候顯示「/etc/motd」中的信息。
SyslogFacility AUTH
「SyslogFacility」設置在記錄來自sshd的消息的時候,是否給出「facility code」。
LogLevel INFO
「LogLevel」設置記錄sshd日誌消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。
RhostsAuthentication no
「RhostsAuthentication」設置只用rhosts或「/etc/hosts.equiv」進行安全驗證是否已經足夠了。
RhostsRSAAuthentication no
「RhostsRSA」設置是否允許用rhosts或「/etc/hosts.equiv」加上RSA進行安全驗證。
RSAAuthentication yes
「RSAAuthentication」設置是否允許只有RSA安全驗證。
PasswordAuthentication yes
「PasswordAuthentication」設置是否允許口令驗證。
PermitEmptyPasswords no
「PermitEmptyPasswords」設置是否允許用口令為空的帳號登錄。
AllowUsers admin
「AllowUsers」的後面可以跟著任意的數量的用戶名的匹配串(patterns)或user@host這樣的匹配串,這些字元串用空格隔開。主機名可以是DNS名或IP地址。
㈢ linux ssh 怎麼設置密鑰登錄
linux系統怎麼設置來用密鑰登錄源
想要默認下載秘鑰,這樣ssh登陸就不用再使用賬號密碼登陸了,這里可以使用基於主機的非對稱密鑰方式從主機B直接登錄到主機A,具體操作步驟如下:
1,先要修改需要登陸的linux主機A:
vi /etc/ssh/sshd_config,將
RhostsRSAAuthentication
HostbasedAuthentication
PubkeyAuthentication
都設置為 yes
保存退出,重啟ssh服務 /etc/init.d/sshd restart;
2,在另外一個做登陸操作的主機A上進行一下操作:
cd ~/.ssh/ (如果沒有.ssh文件夾,可以自己mkdir .ssh)
㈣ 虛擬機的Linux安裝的SSH,怎麼配置吖,求詳細的方法,詳細
(SSH是一個用來替代TELNET、FTP以及R命令的工具包,主要是想解決口令在網上明文傳輸的問題。為了系統安全和用戶自身的權益,推廣SSH是必要的。SSH有兩個版本,我們現在介紹的是版本2。) 安裝SSH 具體步驟如下: 獲得SSH軟體包。 ( ftp://ftp.pku.e.cn :/pub/unix/ssh-2.3.0.tar.gz ) 成為超級用戶(root). # gzip ?cd ssh-2.3.0.tar.gz |tar xvf ? # cd ssh-2.3.0 # ./configure 注意,如果你希望用tcp_wrappers來控制SSH,那麼在configure時需要加上選項「--with-libwrap=/path/to/libwrap/」, 用來告訴SSH關於libwrap.a 和tcpd.h的位置。 # make # make install 和SSH有關的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。 二、配置 SSH的配置文件在/etc/ssh2下,其中包括sshd2的主機公鑰和私鑰:hostkey和hostkey.pub。這兩個文件通常是在安裝SSH時自動生成的。你可以通過下面的命令重新來生成它們: # rm /etc/ssh2/hostkey* # ssh-keygen2 ?P /etc/ssh2/hostkey 而ssh2_config 文件一般情形下無需修改。 三、啟動sshd2 每個要使用SSH的系統都必須在後台運行sshd2。用手工啟動: # /usr/local/sbin/sshd2& 可以在「/etc/rc2.d/SArrayArraylocal」中加入該命令,這樣系統每次啟動時會自動啟動sshd2。 四、用tcp_wrappers控制SSH 安裝SSH的站點可以用tcp_wrappers來限制哪些IP地址可以通過ssh來訪問自己。比如,在/etc/hosts.allow中加入 sshd,sshd2: 10.0.0.1 那麼只有10.0.0.1可以通過ssh來訪問該主機。 以上都是系統管理員完成的工作。下面我們說說普通用戶如何使用SSH。 五、基本應用 每個用戶在使用SSH之前,都要完成以下步驟: 在本地主機(比如,local.pku.e.cn)上生成自己的ssh公鑰和私鑰。命令如下: local# ssh-keygen Generating 1024-bit dsa key pair 1 oOo.oOo.o Key generated. 1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05 Passphrase :************ /*在此輸入你的口令,以後訪問這台主機時要用。 Again :************ /* Private key saved to /home1/teng/.ssh2/id_dsa_1024_a Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub 生成的私鑰和公鑰(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目錄的~/.ssh2目錄下。和用戶相關的SSH配置文件都在~/.ssh2下。私鑰由用戶保存在本地主機上,而公鑰需傳送到遠地主機的你自己的帳號的~/.ssh2下,如果你要用ssh2訪問本地主機的話。 在~/.ssh2下創建「identification」文件用來說明進行身份認證的私鑰。命令如下: local:~/.ssh2# echo "IdKey id_dsa_1024_a" > identification 3.同樣地,在遠地主機(比如,remote.pku.e.cn)上完成上面步驟。 4.將本地(local.pku.e.cn)下你自己(這里是「teng」)的公鑰(id_dsa_1024_a.pub)拷貝到遠地主機(remote.pku.e.cn)上你自己家目錄下的.ssh2目錄下,可命名為「local.pub」,一般用ftp上傳即可。 在遠地主機上,你自己家目錄的.ssh2目錄下,創建「authorization」文件,其中指定用來進行身份認證的公鑰文件。命令如下: remote:~/.ssh2# echo 「Key local.pub」 > authorization 現在你可以從本地用ssh2登錄到遠地系統了。命令如下: local# ssh remote.pku.e.cn Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05":*********** 這時會要你輸入你的ssh口令(Passphrase)。驗證通過後,即登錄到remote主機上。 ################################################################################ 1、環境: 因為我們選用的SSH伺服器是 http://www.ssh.com 的SSH Secure Shell for unix類產品,所以我們主要介紹一下此類的Ssh伺服器的安裝過程。(SSH有兩個版本,我們現在介紹的是版本2;Openssh就不介紹了,大家有興趣的話可以參考一下網上文章) 2、編譯安裝 我們前面介紹過,現在的Ssh server for unix 類的最新版本是ssh-3.2.Array-1,我建議大家用官方提供的TAR包,當然,如果你不熟悉編譯過程,用RPM等安裝方式也是可以的。如果用RPM安裝,請先下載ssh-3.2.Array-1.i386.rpm , 大家可以到以下地址下載: http://ftp.ssh.com/priv/secureshell/32Arraywks+srv-lt4Arrayldrk/linux/ssh-3.2.Array-1.i386.rpm 安裝時請用管理員許可權 # rpm ?ivh ssh-3.2.Array-1.i386.rpm 如果是升級安裝那參數就用 ?Uvh 而3.2.Array-1的TAR包大家可以到 http://downloads.planetmirror.com/pub/ssh/ssh-3.2.Array.1.tar.gz 下載。安裝時也使用管理員許可權: # tar xzvf ssh-3.2.Array.1.tar.gz # cd ssh-3.2.Array.1 # ./configure (這里我們要說明一下,原來有些文檔寫如果你希望用tcp_wrappers來控制SSH,那麼在configure時需要加上選項「--with-libwrap=/path/to/libwrap/」, 用來告訴SSH關於libwrap.a 和tcpd.h的位置,但3.2.0以上的SSH已經不需要這么麻煩了,它們已經內置了控制訪問許可權的功能。) # make ; make install ; make clean 這樣就結束了安裝。 3、簡單配置Ssh server 無論你是用RPM或TAR包安裝的ssh server,它的配置文件都在/etc/ssh2/sshd2_config,安裝完後一般不用配置它,但如果你的22埠在安裝ssh server之前已經被其他程序佔用,那麼你需要簡單的配置一下這個文件,執行 vi /etc/ssh2/sshd2_config,找到第27行,Port 22 ,把22改成其他的埠就可以了。 4、啟動Ssh server Ssh server 的默認啟動文件是/usr/local/sbin/sshd2,而安裝程序自動做了一個連接到這個文件的名字為sshd的文件,我們只要在/usr/local/sbin/目錄中執行 ./sshd & 就可以簡單的啟用Ssh server,然後我們執行 # netstat ?na 會看見22埠已經被監聽了(你的可能是其他埠,具體看你在sshd2_config文件中的設置了。)但我們不想每次都要手動啟動Ssh server,那麼我們可以修改一下/etc/rc.d/rc.local文件,在這個文件的最後加入以下內容: #start ssh /usr/local/sbin/sshd & 其中第一行為注釋內容,第二行為啟動SSH伺服器並作為後台守護進程運行。 這樣就好了,系統重起時可以自動啟動SSH服務,但是啟動後你如果在伺服器端插上 顯示器 ,會在最後該登陸的時候看到一行字,意思就是Ssh server 服務啟動了,我比較挑剔,不想看到這個提示,而且我想把Ssh服務放到LINUX服務啟動過程中,這樣比較美觀一點。那麼我們就不能修改/etc/rc.d/rc.local文件,我們要進入/etc/init.d/中建立一個SHELL文件,名字就叫sshd 內容如下: #!/bin/bash cd /usr/local/sbin ./sshd & 然後給這個文件加上可執行許可權 # chmod +x sshd 然後進入/etc/rc3.d,做一個軟鏈接文件 # cd /etc/rc3.d # ln -s ../init.d/sshd S13sshd 這樣就達到了我的要求,好了,Ssh server的安裝就介紹到這里吧,安裝是很簡單的,希望大家編譯安裝成功。
㈤ 如何在Linux伺服器上配置SSH密鑰驗證
客戶端設置
客戶需要生成密鑰對(公共和私有)。 稍後我們會將公鑰上傳到回SSH伺服器。
ssh-keygen
生成SSH密鑰時答,系統將提示您輸入密碼。 我們建議在此步驟中使用新密碼。 這將避免別人使用你的鑰匙。
將公鑰上傳到伺服器
現在我們將使用ssh--id命令來上傳密鑰。 您可以手動將公鑰(~/.ssh/id_rsa.pub)附加到伺服器上的~/.ssh/authorized_keys。
ssh--id user@hostname
更安全的SSH設置
此步驟是可選的,但建議禁用密碼驗證(特別是root用戶)打開文件 /etc/ssh/sshd_config 並將PasswordAuthentication更改為「no」值。
PasswordAuthentication no
確保在重新啟動SSH伺服器之前測試您的ssh密鑰驗證!
sudo service ssh restart