在linux命令中登陸ssh服務的命令是ssh ip,例如:ssh 192.186.1.2。
ssh服務是一個守護進程(demon)。系統後台監視客戶端的連接。ssh服務端的進程名為sshd,它負責實時監視客戶端的請求(IP 22埠),包括交換公共密鑰和其他信息。
ssh伺服器由兩部分組成:openssh(提供ssh服務)、openssl(提供加密的程序)。
ssh客戶端可以用XSHELL,Securert,Mobaxterm和其他工具連接。
(1)ssh登錄伺服器的命令擴展閱讀:
伺服器啟動的時候自己產生一個密鑰(768bit公鑰),本地的ssh客戶端發送連接請求到ssh伺服器,伺服器檢查連接點客戶端發送的數據和IP地址;
確認合法後發送密鑰(768bits)給客戶端,此時客戶端將本地私鑰(256bit)和伺服器的公鑰(768bit)結合成密鑰對key(1024bit),發回給伺服器端,建立連接通過key-pair數據傳輸。
❷ 遠程登錄Linux伺服器的命令是什麼
網路上搜一下應該有很多步驟教程的,但我一般都是直接通過軟體登陸的,簡單方便,下載雲幫手,其中有一個遠程連接的功能,根據想要登錄的伺服器填寫信息就可以了,Linux和windows系統都可以直接登,記得要選擇對應的協議哦。
❸ 如何使用ssh登陸windows伺服器
1. ssh簡介以及本例的應用場景
① ssh的簡介
SSH是一個用來替代TELNET、FTP以及R命令的工具包,主要是想解決口令在網上明文傳輸的問題。為了系統安全和用戶自身的權益,推廣SSH是必要的。 SSH是英文Secure Shell的簡寫形式。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。
② 本例的應用場景
用戶在client(Linux)上通過ssh遠程執行server(Windows)上的命令,比如c:\test.bat
註:Linux版自帶ssh Server且默認啟動,具體設置方法請參見google。
2. ssh伺服器的安裝(Windows)
ssh伺服器軟體有許多中,我們這里使用的是免費的freeSSHd。
① 首先從官方站點下載軟體並安裝(http://www.freesshd.com/)
② 安裝完成後進入配置界面(Server Status),確認SSH server正在運行狀態
③ 進入Users界面,設定一個訪問的用戶賬戶(比如xut)
這里我們建立一個叫xut的用戶,認證有3種方式可以選擇。從以後通過ssh運行命令的方便(無需輸入密碼)考慮,我們選擇Public key認證方式。選擇Password方式的話,每次訪問需要輸入密碼,此種方式較為繁瑣而且安全性不高。然後開放其Shell許可權。
④ 進入認證界面,確認Public key認證方式屬於激活狀態(選擇Allowed或Required)
此時ssh伺服器端的基本設置已經OK,可進一步進行更加詳細的設置(比如訪問限定等),此處不再介紹。
注意:伺服器端如果有防護牆時應該開發TCP 22號埠最為ssh連接使用。
3. ssh客戶端的設置(Linux)
由於我們的客戶端採用的是Linux,所以不用安裝客戶端軟體,系統自帶的就有。
我們需要在Linux上創建一個共有和私有的密鑰對,私有密鑰放到客戶端(Linux)上,共有密鑰放到伺服器端(Windows)上。在Linux上通過ssh-keygen命令來創建。
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): [直接回車]
Enter passphrase (empty for no passphrase): [直接回車]
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:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53
其中,/root/.ssh/id_rsa為私有密鑰,/root/.ssh/id_rsa.pub為共有的密鑰。
此時,需要把共有密鑰放到伺服器端(Windows)進行保存,以便於伺服器端進行安全檢查。
我們通過認證界面找到存放共有密鑰的地址(Public key folder)。
如上圖所示,然後在c:\Program Files\freeSSHd目錄下創建以登錄用戶名為名字的文本文件,此處舉例為xut文件。並將/root/.ssh/id_rsa.pub文件中的內容拷貝到c:\Program Files\freeSSHd\xut文件中。
至此,客戶端和伺服器端的密鑰設置已經完成,可以通過如下命令進行遠程的命令執行。
ssh [email protected] "c:\test.bat"
這條命令將執行伺服器端的C盤下的test.bat文件,並把結果返回,整個操作不需輸入密碼。
4. ssh客戶端的設置(Windows)
由於Windows不附帶ssh的客戶端和伺服器端,我們這里找一個免費的客戶端軟體PuTTY。
PuttY主頁:http://www.chiark.greenend.org.uk/~sgtatham/putty/
各種客戶端的比較:http://en.wikipedia.org/wiki/Comparison_of_SSH_clients
在Putty主頁,我們下載putty.zip(含除了PuTTYtel以外的所有文件),然後解壓會發現一個叫plink.exe的文件,這就是我們的ssh客戶端命令行軟體。
我們首先要成一個共有和私有的密鑰對,使用putty.zip中附帶的PUTTYGEN.exe生成。
啟動PUTTYGEN.exe後可以見到下圖界面,點擊[Generate]即可生成所需密鑰對。
注意:由於是採用隨機演算法生成,需要不停地在對話框上移動滑鼠進度條才會增加,否則將保持不變。
滑鼠在這里不停移動
密鑰生成完畢後,可以把私有密鑰進行保存,為了登錄簡單起見不對私鑰進行加密,提示沒有passphrase選擇忽略即可。假設我們這里把私鑰保存為pri_key.ppk。
我們把公鑰放在freeSSHd端(ssh伺服器端)進行保存,具體保存方法參見【ssh客戶端的設置(Linux)】。
在Windows客戶端,執行如下命令進行ssh連接,並不需要輸入密碼即可通過密鑰進行自動認證。
plink -i pri_key.ppk [email protected] c:\test.bat
(此時將執行伺服器端的c:\test.bat腳本。)
註:第一次連接時將出現「The server's host key is not cached in the registry…
❹ ssh遠程連接伺服器執行命令
首先說一下使用ssh遠程連接伺服器執行命令的方法:
為了方便描述,這里把測試伺服器稱之為A1,目標伺服器稱之為A2
如果可以直接登錄到A2,則配置成功!
下面來說問題:
ssh在遠程連接伺服器執行命令的時候,經常會遇到環境變數的問題,如下:
如果出現上面的提示,則說明環境變數配置有問題。
先來說解決辦法
問題解決!
這里就要說明bash有兩種方式interactive + login shell模式和non-interactive + non-login shell模式
在伺服器上執行命令,走的是interactive + login shell模式,而通過遠程登錄執行命令,走的是non-interactive + non-login shell模式。
這兩種模式對於環境變數的讀取是有區別的。
Shell首先會載入/etc/profile文件,然後再嘗試依次去載入下列三個配置文件之一,一旦找到其中一個便不再接著尋找:
~/.bash_profile
~/.bash_login
~/.profile
所以當遠程執行命令時,我們只需要讓~/.bashrc文件中的環境變數與/etc/profile中的環境變數一致即可!
參考:
如何解決SSH遠程執行命令找不到環境變數的問題
❺ 如何實現SHELL:用SSH批量登陸到其他伺服器,每台伺服器登陸密碼不同
需要採用ssh遠程無密碼登錄:
原理是:
客戶機
上,先生成
私鑰
和公鑰,然後把公鑰傳遞到每台要登錄的伺服器的指定用戶目錄里即可。
客戶機命令:
ssh-keygen
-t
rsa
(回車兩次)
ssh--id
-i
~/.ssh/id_rsa.pub
用戶名@伺服器1
ssh--id
-i
~/.ssh/id_rsa.pub
用戶名@伺服器2
...
認證成功後,
運行命令
:
ssh
伺服器名
「命令名」
不再需要密碼
❻ SSH 之遠程登錄
從客戶端來看,SSH提供兩種級別的安全驗證。
對於第二種級別,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網路上傳送口令。第二種級別不僅加密所有傳送的數據,而且「中間人」這鉛乎種攻擊方式也是不可能的(因為他沒有用戶的私人密匙)。但是整個登錄的過程可能需要10秒。
將本地用戶生成的公鑰推送至遠程伺服器後,遠程主機將用戶的公鑰,保存在登錄後的用戶主目錄的$HOME/.ssh/authorized_keys文件中。公鑰就是一段字元串,只要把它追加在authorized_keys文件的末尾就行了。
這里不使用ssh--id命令,改用下面的命令,來解釋公鑰的保存過程:
輸入命令 ssh user@host ,然後根據提示輸入遠程伺服器的登錄密碼
也可在配置文件/etc/ssh/ssh_config 中設置user和host(ip), 來簡化命令, 配置如下:
配置後, 登錄請求時只需輸入如洞悉下命令:
使用密碼登錄,每次都必須輸入密碼,非常麻煩。好在SSH還提供了公鑰登錄,可以省去輸入密碼的步驟。
公鑰登錄原理 :就是用戶將自己的公鑰儲存在遠程主機上。登錄的時候,遠程主機會向用戶發送一段隨機字元串,用戶用自己的私鑰加密後,再發回來。遠程主機用事先儲存的公鑰進行解密,如果解密驗證成功,就證明用戶是可信的,直接允許登錄shell,不再要求密碼。
執行上述命令首先會讓你輸入生成密鑰的文件名: myPemKey (自定義),之後一路回車。
配置後,登錄遠槐顫悉程伺服器時只需輸入一下命令,便可直接登錄成功:
修改後重啟ssh服務
則遠程連接時指定埠
(1) 通過iptables設置ssh埠的白名單,如下設置只允許192.168.1.0/24網段的客戶機可以遠程連接本機
(2) 通過/etc/hosts.allow裡面進行限制(如下),/etc/hosts.deny文件不要任何內容編輯,保持默認!
例如:
修改遠程伺服器ssh服務配置文件/etc/ssh/sshd_config
修改遠程伺服器配置文件/etc/ssh/sshd_config, 如下:
如果本機系統有些賬號沒有設置密碼,而ssh配置文件里又沒做限制,那麼遠程通過這個空密碼賬號就可以登陸了,這是及其不安全的,所以一定要禁止空密碼登陸。
修改遠程伺服器配置文件/etc/ssh/sshd_config,如下:
參考:
❼ ssh 命令怎麼用
ssh命令用法:ssh+加要執行的命令,需在SSH 2客戶端上使用。
1、SSH客戶端版本查看。
有時需確認SSH客戶端及其相應的版本號。使用ssh -V命令可以得到版本號。注意,Linux一般自帶的是OpenSSH: 下面例子即表明該系統正在使用OpenSSH:
$ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003。
下面的例子表明該系統正在使用SSH2:
$ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu。
2、用SSH登錄到遠程主機。
當第一次使用ssh登錄遠程主機時,會出現沒有找到主機密鑰的提示信息。輸入"yes"後,系統會將遠程主機的密鑰加入到主目錄下.ssh/hostkeys下,這樣就可繼續操作。
3、調試SSH客戶端會話。
當ssh連接出現問題時,需通過查看調試信息來定位這些錯誤。使用v選項(注意:是小寫的v),即可查看調試信息。
4、用SSH退出符切換SSH會話。
遠程登陸到一台主機A,然後從A登陸到B,如希望在A上做操作,還得再開一個終端。
當使用ssh從本機登錄到遠程主機時,希望切換到本地做一些操作,然後再重新回到遠程主機。這時,不需中斷ssh連接,只需按照如下步驟操作即可:
當已經登錄到了遠程主機時,可能想要回到本地主機進行一些操作,然後又繼續回到遠程主機。
(1)登入遠程主機:
localhost$ ssh -l jsmith remotehost。
(2)已連接遠程主機:
remotehost$。
(3)要臨時回到本地主機,輸入退出符號:「~」與「Control-Z」組合。
當輸入「~」不會立即在屏幕上看到,按下<Control-Z>並且按回車之後一起顯示。如下,在遠程主機中以此輸入「~<Control-Z>」remotehost$ ~^Z [1]+ Stopped ssh -l jsmith remotehost localhost$。
(4)已經退回到本地主機,ssh遠程客戶端會話就在UNIX後台中運行,可向下面那樣查看它:
localhost$ jobs [1]+ Stopped ssh -l jsmith remotehost。
(5)可將後台運行的ssh會話進程切換到前台,重新回到遠程主機,而無需輸入密碼:localhost$ fg %1 ssh -l jsmith remotehost remotehost$。
5、用SSH退出字元會話,顯示信息。
要取得一些關於當前會話有用信息,可按以下方式完成。這只能在SSH 2客戶端上使用。
登錄到遠程伺服器:localhost$ ssh -l jsmith remotehost。
在遠程伺服器上,輸入ssh退出字元~並輸入s。會顯示出很多有關當前ssh連接的有用信息。
❽ 如何使用SSH登錄遠程伺服器
Windows下有很多SSH工具。在這里用的是Putty。如果安裝了Git並配置使用Putty的話,就不需要另外在安裝Putty了。使用SSH連接伺服器的命令如下:ssh IP地址
一般來說為了安全性考慮,埠號等一些參數並不會使用默認值。這樣的話命令就變成這樣:
ssh 用戶名@IP地址 -p 埠號
如果連接成功的話會提示你輸入遠程伺服器的密碼。全部成功之後SSH就會顯示遠程伺服器的提示符,這時候就說明連接成功了。
每次登錄SSH都需要輸入密碼很麻煩,而且可能不太安全。SSH還能使用另外一種登錄方式,也就是使用密鑰登錄。這種登錄方式需要客戶端生成一堆公鑰私鑰對,然後將公鑰添加到伺服器中,這樣下次就可以直接登錄了。
首先生成SSH密鑰,依照提示輸入信息即可。默認生成在用戶主目錄中的.ssh文件夾中。帶pub的是公鑰,接下來需要添加到伺服器中。
ssh-keygen
然後將本地公鑰添加到伺服器中,需要使用另一個命令:
scp -P 埠號 本地文件路徑 用戶名@遠程伺服器地址:遠程路徑
然後登陸伺服器,找到復制進去的公鑰,將公鑰名字改為authorized_keys並添加到對應的.ssh文件夾中。然後退出SSH重新登陸試試,成功的話不需要輸入密碼就會直接進入遠程伺服器。
❾ 如何使用SSH登錄Linux伺服器
首先進入/etc目錄下,/etc目錄存放的是一些配置文件,比如passwd等配置文件,要想使用ssh遠程登陸,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim編輯,在命令行模式下輸入vim/etc/ssh/sshd_config,進入之後,按「i」進入編輯狀態,在其文件里找到並修改為:PasswordAuthentication
yes,PermitRootLogin
yes兩行即可,
修改之後,按「esc」退出,並按「:wq」保存並退出,或直接按「:x」直接保存退出,(注意:此處的x為小寫x,大寫X是將文件內容加密,使用時細心注意),
退出編輯模式之後,回到命令模式,輸入sevice
ssh
start/stop/restart/status,啟動/停止/重啟/狀態,選擇start啟動ssh服務。
如果上面開啟SSH服務的命令不能用,可以使用命令:sudo
service
sshd
start試試,檢查是否開啟SSH服務使用命令:ps
-e
|
grep
sshd
此時可以查看ssh狀態是否為運行狀態,運行狀態即可使用ssh遠程登陸。
使用「ifconfig」命令查詢ip地址
使用ssh登陸時,輸入主機(linux的ip地址),賬號,密碼登陸!
如果需要遠程連接SSH,需要把22埠在防火牆上開放,關閉防火牆,或者設置22埠例外/etc/init.d/iptables
stop
怎麼通過ssh登陸可參看下一篇「通過ssh實現遠程登陸伺服器!」
大致步驟為:
SSH
服務配置文件位置
/etc/ssh/sshd_config
#
修改配置
PasswordAuthentication
yes
PermitRootLogin
yes
#
啟動SSH
服務
sevice
ssh
start/stop/status
安裝SSH:yum
install
ssh
啟動SSH:service
sshd
start
設置開機運行:chkconfig
sshd
on