linuxssh參數
1. linux下怎樣設置ssh無密碼登錄
首先你要有一個無密碼的用戶。
修改ssh配置文件,步驟如下:
1)
修改 /etc/ssh/sshd_config
文件中 PermitEmptyPasswords
這個參數為yes(即允許空密碼的用戶登錄,默認是no)
2)
重啟
ssh服務,service
ssh
restart
3)
重新登錄ssh,即可無密碼登錄。
2. 在linux下登錄ssh怎麼指定埠
命令是:
ssh -p 22 用戶名@hostname/ip: -p 22 這個就是埠的指定
ssh常用用法:
1. 無選項參數運行 SSH
通常使用 SSH 的方式就是不加任何選項參數,僅僅輸入"ssh"。下面是示例:
$ ssh 192.168.0.103
第一次連接目標主機時,ssh 會請求確認目標主機的真實性。如果回答的是NO,SSH 將不會繼續連接,只有回答Yes才會繼續。
下一次再登陸此主機時,SSH 就不會提示確認消息了。對此主機的真實驗證信息已經默認保存在每個用戶的 /home/user/.ssh 文件里。
2. 指定登陸用戶
默認的,ssh 會嘗試用當前用戶作為用戶名來連接。在上面的示例命令中,ssh 會嘗試用用戶名叫 pungki 的用戶身份來登入伺服器,這是因為用戶 pungki 正在客戶機上使用 ssh 客戶端軟體。
假如目標主機上沒有叫 pungki 的用戶呢?這時你就必須提供一個目標主機上存在的用戶名。從一開始就要指定用戶名的,可以使用 -l 選項參數。
$ ssh -l leni192.168.0.103
我們也可以這樣輸入:
3. 指定埠
SSH 默認使用的埠號是 22。大多現代的 Linux 系統 22 埠都是開放的。如果運行 ssh 程序而沒有指定埠號,它直接就是通過 22 埠發送請求的。
一些系統管理員會改變 SSH 的默認埠號。現在埠號是 1234.要連上那主機,就要使用**-p*選項,後面在加上 SSH 埠號。
$ ssh 192.168.0.103-p 1234
要改變埠號,我需要修改/etc/ssh/ssh_config文件,找到此行:
Port 22
把它換成其他的埠號,比如上面示例的 1234 埠,然後重啟 SSH 服務。
4.對所有數據請求壓縮
有了這個選項,所有通過 SSH 發送或接收的數據將會被壓縮,並且任然是加密的。要使用 SSH 的壓縮功能,使用-C選項。
$ ssh -C192.168.0.103
如果連網速度很慢的話,比如用 modem 上網,這個選項非常有用。但如果使用的是像 LAN 或其它更高級網路的話,壓縮反而會降低你的傳輸速度。可以使用-o選項加上壓縮級別參數來控制壓縮的級別,但這個選項僅僅只在 SSH-1 下起作用。
5. 指定一個加密演算法
SSH 提供了一些可用的加密演算法。可以在 */etc/ssh/ssh_config or ~/.ssh/config *文件中看到(如果存在的話)。
如果想使用blowfish演算法來加密 SSH 會話,那麼只要把這一行加入/etc/ssh/ssh_configor ~/.ssh/config文件就可以:
Cipher blowfish
默認的,SSH 會使用 3des 演算法。
6. 打開調試模式
因為某些原因如果想要追蹤調試建立的 SSH 連接情況。SSH 提供的-v選項參數正是為此而設的。
$ ssh -v192.168.0.103
7. 綁定源地址
如果客戶端有多於兩個以上的 IP 地址,就不可能分得清楚在使用哪一個 IP 連接到 SSH 伺服器。
為了解決這種情況,可以使用-b選項來指定一個IP 地址。這個 IP 將會被使用做建立連接的源地址。
$ ssh -b192.168.0.200 -l leni 192.168.0.103
服務端,可以使用 netstat 命令來檢查到服務的連接是否建立。可以看到 IP 為192.168.0.200 的連接已經建立。
8. 使用其他配置文件
默認情況下,ssh 會使用位於/etc/ssh/ssh_config的配置文件。這個配置文件作用於系統的所有用戶。但想要為特定的用戶指定特殊的設置的話,可以把配置放入~/.ssh/config文件中。如果此文件不存在,可以手工創建一個。
下面是一個通用ssh_config文件配置的例子。這配置文件位於/home/pungki目錄下。
Host 192.168.0.*
ForwardX11 yes
PasswordAuthentication yes
ConnectTimeout 10
Ciphersaes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
Protocol 2
HashKnownHosts yes
要使用指定的配置文件,可以使用-F選項。
$ ssh -F/home/pungki/my_ssh_config 192.168.0.101
9. 使用 SSH X11 Forwarding
某些時候可能想把服務端的 X11 應用程序顯示到客戶端計算機上,SSH 提供了-X選項。但要啟用這功能需要做些准備,下面是它的設置:
在伺服器端,需要使/etc/ssh/ssh_config文件中的行設置成ForwardX11 yes 或者 X11Forwadyes,以啟用 X11 Forwarding,重啟 SSH 服務程序。
然後在客戶端,輸入ssh-X user@host:
$ ssh [email protected]
一旦登陸,可以輸入:
$ echo $DISPLAY
來檢查,應該可以看到向如下所示的
localhost:10:0
隨後就可以運行應用了,僅僅只能輸入應用程序的命令。如果想運行 xclock 程序,輸入:
$ xclock
它就運行起來了,xclock 確實是運行在遠端系統的,但它在本地系統里顯示了。
3. linux的ssh怎麼設置的
配置客戶端的軟體OpenSSH 有三種配置方式:命令行參數、用戶配置文件和系統級的配置文件("/etc/ssh/ssh_config")。命令行參數優先於配置文件,用戶配置文件優先於系統配置文件。所有的命令行的參數都能在配置文件中設置。因為在安裝的時候沒有默認的用戶配置文件,所以要把 "/etc/ssh/ssh_config"拷貝並重新命名為"~/.ssh/config"。標準的配置文件大概是這樣的:[lots of explanations and possible options listed]# Be paranoid by defaultHost *ForwardAgent noForwardX11 noFallBackToRsh no還有很多選項的設置可以用"man ssh"查看"CONFIGURATION FILES"這一章。配置文件是按順序讀取的。先設置的選項先生效。假定你在 www.foobar.com上有一個名為"bilbo"的帳號。而且你要把"ssh-agent"和"ssh-add"結合起來使用並且使用數據壓縮來加快傳輸速度。因為主機名太長了,你懶得輸入這么長的名字,用"fbc"作為" www.foobar.com"的簡稱。你的配置文件可以是這樣的:Host *fbcHostName www.foobar.comUser bilboForwardAgent yesCompression yes# Be paranoid by defaultHost *ForwardAgent noForwardX11 noFallBackToRsh no你輸入"ssh fbc"之後,SSH會自動地從配置文件中找到主機的全名,用你的用戶名登錄並且用"ssh-agent"管理的密匙進行安全驗證。這樣很方便吧!用SSH連接到其它遠程計算機用的還是"paranoid(偏執)"默認設置。如果有些選項沒有在配置文件或命令行中設置,那麼還是使用默認的"paranoid"設置。在我們上面舉的那個例子中,對於到 www.foobar.com的SSH連接:"ForwardAgent"和"Compression"被設置為 "Yes";其它的設置選項(如果沒有用命令行參數)"ForwardX11"和"FallBackToRsh"都被設置成"No"。其它還有一些需要仔細看一看的設置選項是:l CheckHostIP yes這個選項用來進行IP地址的檢查以防止DNS欺騙。l CompressionLevel壓縮的級別從"1"(最快)到"9"(壓縮率最高)。默認值為"6"。l ForwardX11 yes為了在本地運行遠程的X程序必須設置這個選項。l LogLevel DEBUG當SSH出現問題的時候,這選項就很有用了。默認值為"INFO"。配置服務端的軟體SSH伺服器的配置使用的是"/etc/ssh/sshd_config"配置文件,這些選項的設置在配置文件中已經有了一些說明而且用"man sshd"也可以查看幫助。請注意OpenSSH對於SSH 1.x和2.x沒有不同的配置文件。在默認的設置選項中需要注意的有:l PermitRootLogin yes最好把這個選項設置成"PermitRootLogin without-password",這樣"root"用戶就不能從沒有密匙的計算機上登錄。把這個選項設置成"no"將禁止"root"用戶登錄,只能用"su"命令從普通用戶轉成"root"。l X11Forwarding no把這個選項設置成"yes"允許用戶運行遠程主機上的X程序。就算禁止這個選項也不能提高伺服器的安全因為用戶可以安裝他們自己的轉發器(forwarder),請參看"man sshd"。l PasswordAuthentication yes把這個選項設置為"no"只允許用戶用基於密匙的方式登錄。這當然會給那些經常需要從不同主機登錄的用戶帶來麻煩,但是這能夠在很大程度上提高系統的安全性。基於口令的登錄方式有很大的弱點。l # Subsystem /usr/local/sbin/sftpd把最前面的#號去掉並且把路徑名設置成"/usr/bin/sftpserv",用戶就能使用"sftp"(安全的FTP)了(sftpserv在 sftp 軟體包中)。因為很多用戶對FTP比較熟悉而且"scp"用起來也有一些麻煩,所以"sftp"還是很有用的。而且2.0.7版本以後的圖形化的ftp工具"gftp"也支持"sftp"。
4. linux下安裝SSH服務及使用詳解
secure shell protocol簡稱SSH,是由IETF網路工作小組(network working group) 制定,在進行數據傳輸之前, SSH先對聯級數據包通過加密技術進行加密處理,加密後在進行數據傳輸,確保了傳遞的數據安全.
SSH是 專門為遠程登錄會話和其他網路服務(例如:rsync,ansible)提供的安全性協議 ,利用SSH協議可以有效的防止遠程管理過程中的信息泄露問題,絕大多數企業普遍採用SSH協議服務來代替傳統的不安全的遠程連接伺服器軟體(例如:Telnet/23埠/非加密的)等.
然後開始輸入用戶名
右擊選中追蹤流,在右側再選中TCP流
即可顯示數據包的全過程,圈中的部分是用戶名,之所以每個單詞重復出現,是因為數據有請求,有確認,所以會重復,去重以後就是用戶名:shuai,密碼:123456
在顯示 yes/no 的時候,如果輸入的 yes 就接收到了服務端發送過來的公鑰信息,把這個信息放到了 /root/.ssh/known_hosts文件 里
SSH服務由服務端軟體 OpenSSH(Openssl) 和客戶端 常見的有SSH(linux),secureCRT,putty,Xshell 組成.SSH服務默認使用22埠提供服務, 他有兩個不兼容的SSH協議版本,分別是1.x和2.x
如果在進行連接的時候出現以下情況,如何解決
基於口令的安全驗證方式就是知道伺服器的SSH連接賬號和口令(也要知道對應伺服器的IP地址及開放的SSH埠,默認為22埠)就可以通過SSH客戶端登錄到遠程主機上面,此時聯機過程中所有傳輸的數據都是加密的!
- 演示XSHELL及SSH客戶端連接,口令驗證測試
基於密鑰的安全驗證方式是指,需要依靠密鑰,也就是必須事先建立一對密鑰對,然後把 公用密鑰(鎖頭:public key) 放在需要訪問的目標伺服器上,另外,還需要把 私有密鑰(鑰匙:private key) 放到SSH的客戶端或對應的客戶端伺服器上.
此時,如果想要連接到這個帶有公用密鑰的SSH伺服器上,客戶端SSH軟體或者客戶端伺服器就會向SSH伺服器發出請求,請用聯機的用戶密鑰進行安全驗證,SSH伺服器收到請求之後,會先在該SSH伺服器上連接的用戶的家目錄下面尋找事先放上去的對應用戶的公用密鑰,然後把它和連接SSH客戶端發送過來的公用密鑰進行比較,如果兩個密鑰一直,SSH伺服器就用公用密鑰加密"質詢(challenge)"並把它發送給SSH客戶端!
SSH客戶端收到"質詢"之後就可以用自己的私鑰解密,在把它發送給SSH伺服器,使用這種方式,需要知道聯機用戶的密鑰文件,與第一種基於口令驗證的方式相比,第二種方式不需要在網路上傳送口令密碼,所以安全性更高了,這是我們也注意保護我們的密鑰文件,特別是私鑰文件,一旦被黑獲取到,危險系數增大很多.
修改SSH服務的運行參數,是通過修改配置文件 /etc/ssh/sshd_config 來實現的.
一般來說SSH服務使用默認的配置已經能夠很好的工作了,如果對安全要求不高,僅僅提供SSH服務的情況,可以不需要修改任何參數配置.
SSH服務監聽參數說明
企業伺服器被入侵案例
拉取:PULL
5. linuxssh指定秘鑰交換演算法
linuxssh指定秘鑰交換演算法如下:
客戶端向目標伺服器發送登錄請求。在SSH服務啟用了證書驗證登錄方式後,會優先通過證書驗證方式進行登錄驗證。目標伺服器根據SSH服務配置,在用戶對應目錄及文件中讀取到有效的公鑰信息。目標伺服器生成一串隨機數,然後使用相應的公鑰對其加密。目標伺服器將加密後的密文發回客戶端。客戶端使用默認目錄或-i參數指定的私鑰嘗試解密。如果解密失敗,則會繼續嘗試密碼驗證等其它方式進行登錄校驗。如果解密成功,則將解密後的原文信息重新發送給目標伺服器。意思類似於:「看,這是這段話的原文。我能讀懂發過來的密文,我擁有伺服器的控制權,請讓我登錄。目標伺服器對客戶端返回的信息進行比對。如果比對成功,則表示認證成功,客戶端可以登錄。如果對比失敗,則表示認證失敗,則會繼續嘗試密碼驗證等其它方式進行登錄校驗。
6. 虛擬機的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的安裝就介紹到這里吧,安裝是很簡單的,希望大家編譯安裝成功。
7. linux遠程登錄(ssh)後,有的程序不能直接運行需要在命令前加什麼參數
使用Xmanager控制linux遠程桌面
首先,需要在linux下做相應的設置以啟動服務。主要分為六步來進行設置。NSritug
NSritug
一、配置linux
1、打開 /etc/inittab文件,將 runlevel 變為5, 即id:5:initdefault: 如果原來就是5,則不用修改。
2、打開 /etc/X11/gdm/gdm.conf 文件,找到 [xdmcp] 部分,將 Enabled 選項設為true或1。NSritug
NSritug
3、打開 /etc/X11/xdm/xdm-config 文件, 找到DisplayManager.requestPort: 0, 然後在前面加!。NSritug
NSritug
4、打開/etc/X11/xdm/Xaccess文件 找到#*#any host can get a login window,將第一個#去掉。NSritug
NSritug
5、打開 /etc/X11/xdm/kdmrc /usr/share/config/kdm/kdmrc 或 /etc/opt/kde2/share/config/kdm/kdmrc文件(根據你的操作系統不同而打開不同的文件)。找到[xdmcp]部分, 修改 Enable為true。NSritug
NSritug
6、如果你的機器上配置了防火牆,打開/etc/sysconfig/ipchains文件,加入以下幾行。
-A input -p udp -s 0/0 -d 0/0 177 -j ACCEPT NSritug
-A input -p tcp -s 0/0 -d 0/0 telnet -j ACCEPT NSritug
-A input -p tcp -s 0/0 -d 0/0 ssh -j ACCEPT NSritug
-A input -p tcp -s 0/0 -d 0/0 login -j ACCEPT NSritug
-A input -p tcp -s 0/0 -d 0/0 exec -j ACCEPT NSritug
-A input -p tcp -s 0/0 -d 0/0 shell -j ACCEPT NSritug
-A input -p tcp -s 0/0 -d 0/0 7100 -j ACCEPT NSritug
NSritug
重新啟動操作系統,以使系統生效。
註:一群里的朋友說他曾經遇到過此文件下有這樣的一條語句的:
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --syn -j REJECT
說明你的7100的埠被拒絕了.所以你可以用#放在這條語句的前面把他給注釋掉.NSritug
NSritug
二、配置xmananger
xmanager可從下載。可以下載最新的版本2.0或2.1,本文採用xmanager2.0來進行設置,S/n: 050801-156011-000158,這個是他企業版的序列號!如果你下載其他的版本可以到網上搜去吧! NSritug
NSritug
按提示安裝完後xmanager2.0後有五個圖標。NSritug
NSritug
啟動其中的Xbrowser後,將Host設為linux機器的IP, Port Number為177。
後面幾步一直按下一步。完成後在xbrowser中出現一個圖標,雙擊它出現類似於linux的登錄界面。輸入linux的用戶名和密碼。
8. linux ssh 帶密碼
windows下的putty命令行輸入時好像可以不自帶密碼
linux 下,不可以。
代替的實現方法
請參考bigbigtiger17的回答。