ssh遠程登錄linux
A. 如何使用ssh登錄linux伺服器
使用用戶名密碼登錄
在命令行中輸入命令:
之後系統會提示輸入密碼,輸入後即可登錄
如果不添加-p選項,則默認是22埠
還可以使用-l選項輸入用戶名:
使用密鑰登錄(不使用密碼)
首先生成密鑰,在任意目錄下輸入命令:
-P表示密碼,-P
''表示空密碼
之後系統會提示輸入生成的密鑰文件的文件名,可以輸入任意名稱,比如id_rsa,回車
系統會在當前目錄下生成id_rsa與id_rsa.pub兩個文件
在根目錄下新建.ssh文件夾,將生成的密鑰文件拷貝過去
-p選項表示如果文件夾已經存在則不再新建。
然後將之前生成的兩個文件都拷貝到.ssh文件夾中
把公鑰文件id_rsa.pub拷貝到需要登錄的伺服器上
用scp命令
-P表示要登錄伺服器的埠好,不加默認為22。
之後系統會提示輸入密碼,輸入即可完成拷貝
登錄遠程伺服器,在用戶根目錄下新建.ssh文件夾(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中
這是在遠程伺服器上新建ssh文件夾
將id_rsa.pub文件添加到authorized_keys文件中(如文件不存在則新建)
注意:要保證.ssh與authorized_keys用戶自己都有寫許可權
退出當前遠程登錄,之後就可以不使用密碼遠程登錄了
B. 【Linux】SSH 使用密碼/公鑰遠程登錄總結
本文是筆者查閱網上資料做的總結,關於SSH原理,什麼是對稱加密和非對稱加密,本文不過多介紹。這里介紹一下SHH的工作過程、配製方法,可能出現的問題及解決方法。
說明:本文中涉及的例子,SSH客戶端為:本地主機A,SSH伺服器為:伺服器B
SSH協議採用C-S(客戶端-伺服器端)架構進行雙方的身份驗證以及數據的加密。
伺服器端組件監聽指定的埠,負責安全連接的建立、對連接方的身份認證、以及為通過身份認證的用戶建立正確的環境。
客戶端負責發起最初的TCP握手、安全連接的建立、驗證伺服器的身份與之前記錄中的一致、並將自己的驗證信息提供給伺服器。
一個SSH會話的建立過程分為兩個階段。第一階段,雙方溝通並同意建立一個加密連接通道以供後續信息傳輸用。第二階段,對請求接入的用戶進行身份驗證以確定伺服器端是否要給該用戶開放訪問許可權。
當客戶端發起TCP連接時,伺服器端返回信息說明自己支持的協議版本,如果客戶端上支持的協議與之匹配,則連接繼續。伺服器會提供自己的公共主機密鑰(public host key)以讓客戶端確認自己訪問的是正確的機器。
然後,雙方採用一種Diffie-Hellman演算法共同為該會話建立密鑰。每一方的一部分私有數據,加上來自對方的一部分公共數據,通過這種演算法計算,能夠得出完全相同的密鑰用於本次會話。
整個會話的通訊內容都使用該密鑰進行加密。這個階段使用的公鑰/私鑰對與用戶驗證身份用的SSH密鑰是完全無關的。
經典Diffie-Hellman演算法的計算步驟如下:
這個共享密鑰的加密方式被稱為二進制數據包協議(binary packet protocol)。該過程能夠讓雙方平等的參與密鑰生成的過程,而不是由單方掌握。這種共享密鑰生成的過程是安全的,雙方沒有交換過任何未經加密的信息。
生成的密鑰是對稱式密鑰,一方用於加密信息的密鑰等同於另一方用於解密信息的密鑰,而任何第三方由於不持有該密鑰,是無法解密雙方傳遞的內容的。
會話加密通道建立後,SSH開始進入用戶認證階段。
下一步,伺服器驗證用戶身份以決定是否准許其訪問。驗證有不同的方式,選擇的驗證方式取決於伺服器的支持。
最簡單的驗證是密碼驗證:伺服器要求客戶端輸入密碼,客戶端輸入的密碼經過上述的通道加密傳輸給伺服器。
雖然密碼是加密過的,然而該方法仍然不被推薦,因為用戶經常為了省事而使用過於簡單的密碼,而這類密碼很容易就能夠被自動化腳本破解。
最流行的驗證方式是SSH密鑰對,這也是當前最推薦的方式。SSH密鑰對是非對稱密鑰,私鑰和公鑰分別用於不同的功能。
公鑰用於加密,而私鑰用於解密。公鑰可以隨意上傳、共享,因為公鑰的流通並不會危及到私鑰的保密性。
SSH密鑰對的驗證過程起始於上一部分加密通道建立之後,其具體執行步驟如下:
簡單來說,伺服器端用公鑰加密信息,客戶端用私鑰解密信息以證明自己持有私鑰。該過程同時使用了對稱加密和非對稱加密,兩種方式各有自己的功用。
命令如下:
用戶名:為要登錄的伺服器B中已存在的用戶賬戶名
IP地址:為伺服器B的IP地址
-p 埠號:用來指定埠號,默認為22
第一次登錄時,會提示如下提示:
大概意思是說,你正在訪問的主機不能驗證它的真實性,它的RSA key(當前訪問主機的公鑰)指紋是怎樣的,你確定要繼續連接嗎?
輸入yes繼續,會提示,已永久把當前訪問主機的RSA key添加到了已知主機文件(用戶目錄下,.ssh 文件夾中的knwon_hosts文件)中。之後再次 SSH 登錄就不再有該提示了。
接著,輸入登錄賬戶的密碼即可。
SSH 密碼登錄,需要伺服器開啟密碼驗證許可權,編輯伺服器SSH配置命令如下:
在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,將前面的#號去掉,保存退出。
公鑰登錄,即免密碼登錄。避免的每次登錄都要輸入的麻煩,也防止了中間人攻擊。是SSH遠程登錄最常用的登錄方式。
提示輸入密鑰對名稱,直接回車,使用默認名稱即可;
提示輸入密碼(使用私鑰時,要輸入密碼),直接回車,不使用密碼即可。
首先,登錄伺服器B,在進行下面的操作。
找到 #PubkeyAuthentication yes,刪除 #號,保存退出。
重啟 ssh 服務
也可指定驗證私鑰:
本地主機A,生成密鑰對後:
sudo vim /etc/selinux/config
C. 如何使用ssh登錄linux伺服器
默認配置
Windows下有很多SSH工具。在這里我是用的是Putty。如果安裝了Git並配置使用Putty的話,就不需要另外在安裝Putty了。使用SSH連接伺服器的命令如下:
ssh IP地址
一般來說為了安全性考慮,埠號等一些參數並不會使用默認值。這樣的話命令就變成這樣:
ssh 用戶名@IP地址 -p 埠號
如果連接成功的話會提示你輸入遠程伺服器的密碼。全部成功之後SSH就會顯示遠程伺服器的提示符,這時候就說明連接成功了。
密鑰登錄
每次登錄SH都需要輸入密碼很麻煩,而且可能不太安全。SSH還能使用另外一種登錄方式,也就是使用密鑰登錄。這種登錄方式需要客戶端生成一堆公鑰私鑰對,然後將公鑰添加到伺服器中,這樣下次就可以直接登錄了。
首先生成SSH密鑰,依照提示輸入信息即可。默認生成在用戶主目錄中的.ssh文件夾中。帶pub的是公鑰,接下來需要添加到伺服器中。
ssh-keygen
然後將本地公鑰添加到伺服器中,需要使用另一個命令:
scp -P 埠號 本地文件路徑 用戶名@遠程伺服器地址:遠程路徑
然後登陸伺服器,找到復制進去的公鑰,將公鑰名字改為authorized_keys並添加到對應的.ssh文件夾中。然後退出SSH重新登陸試試,成功的話不需要輸入密碼就會直接進入遠程伺服器。
D. linux下開啟SSH,並且允許root用戶遠程登錄,允許無密碼登錄
參考:http://blog.csdn.net/jia0511/article/details/8237698
1. 允許root用戶遠程登錄
修改ssh服務配置文件
sudovi/etc/ssh/sshd_config
調整PermitRootLogin參數值為yes,如下圖:
2. 允許無密碼登錄
同上,修改ssh服務配置文件,兩種情況:
1) 將PermitEmptyPasswords yes前面的#號去掉
2) 將PermitEmptyPasswords 參數值修改為yes,如下圖:
無論哪種,最後PermitEmptyPasswords參數值為yes
以上兩種配置,均需要重啟ssh服務
service sshd restart # 或者/etc/initd.d/sshd restart
擴展:
為了安全起見,FreeBSD默認情況下是不允許root用戶進行SSH遠程登錄的,需要進行以下操作才可以進行Root用戶的ssh遠程登錄。
首先vi編輯/etc/inetd.conf,去掉ssh前的#注釋,保存後:wq退出 (開啟監聽ssh服務)
編輯/etc/rc.conf, 最後加入:sshd_enable=」yes」即可
激活sshd服務:
#/etc/rc.d/sshd start
檢查服務是否啟動,在22埠應該有監聽。
# check port number22
#netstat -an #或
#netstat -tnlp
最後,編輯ssh配置文件
#vi/etc/ssh/sshd_config
在/etc/ssh/sshd_config最後中加入
PermitRootLogin yes #允許root登錄
PermitEmptyPasswords no #不允許空密碼登錄
PasswordAuthentication yes # 設置是否使用口令驗證。
修改完配置文件後,重新啟動sshd伺服器(/etc/rc.d/sshd restart)即可。
補充:
1. 如果重啟後還是不行, 請重新載入sshd_config 文件
/etc/rc.d/sshd reload
2. 如果出現using keyboard-interactive authentication
password:
請確認配置文件中,PasswordAuthentication參數值是否已經改成yes
另外如果客戶端是putty, 那麼請確認」嘗試』智能鍵盤』認證(SSH-2)」的勾是否有去掉!!!!
3. 如果是使用root帳號登陸
請確認密碼是否為空
空密碼無法登陸
4. 請確認是否有安裝SSH
確認sysinstall>>>configure>>>networking>>>sshd是否的勾是否有打上.
E. 如何通過ssh遠程登錄linux系統
ssh遠程登錄命令簡單實例
ssh命令用於遠程登錄上Linux主機。
常用格式:ssh [-l login_name] [-p port] [user@]hostname
更詳細的可以用ssh -h查看。
舉例
不指定用戶:
ssh 192.168.0.11
指定用戶:
ssh -l root 192.168.0.11
ssh [email protected]
如果修改過ssh登錄埠的可以:
ssh -p 12333 192.168.0.11
ssh -l root -p 12333 216.230.230.114
ssh -p 12333 [email protected]
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登錄埠和禁止root登錄。改埠可以防止被埠掃描。
編輯配置文件:
vim /etc/ssh/sshd_config
找到#Port 22,去掉注釋,修改成一個五位的埠:
Port 12333
找到#PermitRootLogin yes,去掉注釋,修改為:
PermitRootLogin no
重啟sshd服務:
service sshd restart
F. 如何通過ssh遠程登錄linux系統
通過ssh遠程登錄linux系統的方法:1、在需要遠程訪問的計算機的「新立得」裡面安裝openssh-server。這台計算機是遠程計算機,你當前使用的計算機是本地計算機。如果使用Ubuntu或者其他Linux版本,已經安裝了連接到遠程計算機的軟體。2、遠程計算機軟體安裝完畢。在本地計算機的終端裡面輸入:sshusername@address其中username是遠程計算機的賬戶名稱,address是遠程計算機的IP地址或者域名。平日你希望以keir登錄192.168.1.2,可以使用:[email protected]如果不知道遠程計算機的IP地址,可以在遠程計算機上面點擊網路監視器,選擇「連接信息」,查看IP地址信息。3、首次連接,可能提示「theauthenticityofthehostcan』tbeestablished」。沒有關系,回答yes進行連接,輸入密碼即可。4、如果你登錄一個標準的Shell會話,命令行提示符是「用戶名@遠程計算機的名稱」。如果希望通過SSH運行圖形程序,可以使用:ssh-Xusername@address連接以後,輸入程序的名稱即可。譬如,啟動gedit,輸入gedit即可。另外注意,盡管程序出現在你的計算機上面,但是它依然是運行在遠程計算機上面。如果啟動OpenOffice或者其他復雜的圖形程序,可能有一段時間的延遲。另外一個SSH連接的用途是傳輸文件。sftp命令可以實現這個功能。用sftp連接到遠程計算機,就可以像登錄了一個ftp伺服器一樣。另外還可以在Nautilus裡面使用sftp,在Nautilus的地址欄裡面輸入:sftp://address,系統會提示用戶名和密碼。連接完成,就可以在Nautilus裡面拷貝/刪除文件了。
G. 如何使用SSH登錄Linux伺服器
首先進入/etc目錄下,/etc目錄存放的是一些配置文件,比如passwd等配置文件,要想使用ssh遠程登陸,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim編輯,在命令行模式下輸入vim/etc/ssh/sshd_config,進入之後,按「i」進入編輯狀態,在其文件里找到並修改為:PasswordAuthentication yes,PermitRootLogin yes兩行即可,

此時可以查看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
H. 在linux命令中登陸ssh服務的命令是
在linux命令中登陸ssh服務的命令是ssh ip,例如:ssh 192.186.1.2。
輸入賬戶和密碼後,您可以登錄Linux伺服器。
ssh登錄Linux伺服器的默認埠為22,即ssh 192.186.1.2 22,通常可以省略22。 如果設置了其他埠,則不能省略它們。

(8)ssh遠程登錄linux擴展閱讀:
1、SSH連接原理
ssh服務是一個守護進程(demon)。系統後台監視客戶端的連接。ssh服務端的進程名為sshd,它負責實時監視客戶端的請求(IP 22埠),包括交換公共密鑰和其他信息。
ssh伺服器由兩部分組成:openssh(提供ssh服務)、openssl(提供加密的程序)。
ssh客戶端可以用XSHELL,Securert,Mobaxterm和其他工具連接。
2、SSH的工作機制
伺服器啟動時,會生成一個密鑰(768位公共密鑰),本地ssh客戶端向ssh伺服器發送連接請求,然後伺服器檢查連接點客戶端發送的數據和IP地址。
確認有效性後,將密鑰(768位)發送給客戶端。此時,客戶端將本地私有密鑰(256位)和伺服器的公共密鑰(768位)結合成密鑰對key(1024位),然後將其發送回伺服器以建立連接,建立連接通過key-pair數據傳輸。
