① mac 怎麼登錄到 linux 伺服器並傳輸文件
先說簡單實用的方法:
用sz / rz ,伺服器不需要任何配置,lrzsz可以用 homebrew安裝,然後: 在iTerm2中使用Zmodem的方法 « OpenExz
用 ftp 適合傳大一些的文件 你也可以在伺服器端搞一個 vsftpd 啥的,不過顯然比這個麻煩.
然後 scp / nc / rsync,scp在一頭直接用,那倆需要兩頭搞,有空再補具體用法。
大殺器 svn hook / git hook (參考:Horizon 地平線 - Git hooks 簡介 以及 SegmentFault 以及 Git - Git Hooks) ,自己搞文件同步.
我心中 最完美的方案 ,就是用 githooks + scp / ftp 搞一個自動同步,你可以本地用git 管理文件,然後設定 githooks,讓你每次 本次 ci 都調一個腳本,用scp / ftp / pexpect 或者什麼玩意,把本地文件弄到伺服器指定位置上. 自動同步了有木有?(記得 linux建立ssh信任關系,這樣scp就不用輸入密碼了,當然你也可以設定成用pexpect之類的東西來處理密碼)這個方法的好處是,可定製性超級強,而且真的是自動的,而且,伺服器端幾乎不需要任何配置. 唯一蛋疼的地方就是你需要自己學一下 git 和 githooks 怎麼用.
還有一個沒那麼好的辦法,你也可以自己搭個 svn 伺服器,自己加上 svn hook,自己本地修改文件,加上 hook 讓提交後,直接自動在你的伺服器某個地方 svn up. 當然,你也可以不用 svn hook,而是登上去之後 手動 svn up. 如果你不喜歡 git 可以這么弄.
還有一個叫 samba 的蛋疼的東西,在windows上使更合適。有興趣可以折騰一下。
其實我真想說,git hooks 真的能拯救世界啊.
最後,題主日後肯定會遇到多個ssh session 多個終端窗口蛋疼的問題,我推薦用 tmux,當然你也可以用 screens, 下面是我的 tmux 配置,一個非常簡單的配置,但是挺好用.
② linux高手,請教一個問題啊!!救命,搞了一天了
你給列印出來,再看!
在Linux系統中,TCP/IP網路是通過若干個文本文件進行配置的,也許你需要編輯這些文件來完成聯網工作,但是這些配置文件大都可以通過配置命令linuxconf(其中網路部分的配置可以通過netconf命令來實現)命令來實現。下面介紹基本的TCP/IP網路配置文件。
*/etc/conf.moles文件
該配置文件定義了各種需要在啟動時載入的模塊的參數信息。這里主要著重討論關於網卡的配置。在使用Linux做網關的情況下,Linux伺服器至少需要配置兩塊網卡。為了減少啟動時可能出現的問題,Linux內核不會自動檢測多個網卡。對於沒有將網卡的驅動編譯到內核而是作為模塊動態載入的系統若需要安裝多塊網卡,應該在「conf.moles」文件中進行相應的配置。
若設備驅動被編譯為模塊(內核的模塊):對於PCI設備,模塊將自動檢測到所有已經安裝到系統上的設備;對於ISA卡,則需要向模塊提供IO地址,以使模塊知道在何處尋找該卡,這些信息在「/etc/conf.moles」中提供。
例如,我們有兩塊ISA匯流排的3c509卡,一個IO地址是0x300,另一個是0x320。編輯「conf.moles」文件如下:
aliaseth03c509
aliaseth13c509
options3c509io=0x300,0x320
這是說明3c509的驅動程序應當分別以eth0或eth1的名稱被載入(aliaseth0,eth1),並且它們應該以參數io=0x300,0x320被裝載,來通知驅動程序到哪裡去尋找網卡,其中0x是不可缺少的。
對於PCI卡,僅僅需要alias命令來使ethN和適當的驅動模塊名關聯,PCI卡的IO地址將會被自動的檢測到。對於PCI卡,編輯「conf.moles」文件如下:
aliaseth03c905
aliaseth13c905
若驅動已經被編譯進了內核:系統啟動時的PCI檢測程序將會自動找到所有相關的網卡。ISA卡一般也能夠被自動檢測到,但是在某些情況下,ISA卡仍然需要做下面的配置工作:
在「/etc/lilo.conf」中增加配置信息,其方法是通過LILO程序將啟動參數信息傳遞給內核。對於ISA卡,編輯「lilo.conf」文件,增加如下內容:
append="ether="0,0,eth0ether="0,0,eth1"
註:先不要在「lilo.conf」中加入啟動參數,測試一下你的ISA卡,若失敗再使用啟動參數。
如果用傳遞啟動參數的方法,eth0和eth1將按照啟動時被發現的順序來設置。
*/etc/HOSTNAME文件
該文件包含了系統的主機名稱,包括完全的域名,如:deep.openarch.com。
*/etc/sysconfig/network-scripts/ifcfg-ethN文件
在RedHat中,系統網路設備的配置文件保存在「/etc/sysconfig/network-scripts」目錄下,ifcfg-eth0包含第一塊網卡的配置信息,ifcfg-eth1包含第二塊網卡的配置信息。
下面是「/etc/sysconfig/network-scripts/ifcfg-eth0」文件的示例:
DEVICE=eth0
IPADDR=208.164.186.1
NETMASK=255.255.255.0
NETWORK=208.164.186.0
BROADCAST=208.164.186.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
若希望手工修改網路地址或在新的介面上增加新的網路界面,可以通過修改對應的文件(ifcfg-ethN)或創建新的文件來實現。
DEVICE=name name表示物理設備的名字
IPADDR=addr addr表示賦給該卡的IP地址
NETMASK=mask mask表示網路掩碼
NETWORK=addr addr表示網路地址
BROADCAST=addr addr表示廣播地址
ONBOOT=yes/no 啟動時是否激活該卡
none:無須啟動協議
bootp:使用bootp協議
dhcp:使用dhcp協議
USERCTL=yes/no 是否允許非root用戶控制該設
*/etc/resolv.conf文
該文件是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置文件,示例如下:
searchopenarch.com
nameserver208.164.186.1
nameserver208.164.186.2
「searchdomainname.com」表示當提供了一個不包括完全域名的主機名時,在該主機名後添加domainname.com的後綴;「nameserver」表示解析域名時使用該地址指定的主機為域名伺服器。其中域名伺服器是按照文件中出現的順序來查詢的。
*/etc/host.conf文件
該文件指定如何解析主機名。Linux通過解析器庫來獲得主機名對應的IP地址。下面是一個「/etc/host.conf」的示例:
orderbind,hosts
multion
ospoofon
「orderbind,hosts」指定主機名查詢順序,這里規定先使用DNS來解析域名,然後再查詢「/etc/hosts」文件(也可以相反)。
「multion」指定是否「/etc/hosts」文件中指定的主機可以有多個地址,擁有多個IP地址的主機一般稱為多穴主機。
「nospoofon」指不允許對該伺服器進行IP地址欺騙。IP欺騙是一種攻擊系統安全的手段,通過把IP地址偽裝成別的計算機,來取得其它計算機的信任。
*/etc/sysconfig/network文件
該文件用來指定伺服器上的網路配置信息,下面是一個示例:
NETWORK=yes
RORWARD_IPV4=yes
HOSTNAME=deep.openarch.com
GAREWAY=0.0.0.0
GATEWAYDEV=
NETWORK=yes/no 網路是否被配置;
FORWARD_IPV4=yes/no 是否開啟IP轉發功能
HOSTNAME=hostnamehostname表示伺服器的主機名
GAREWAY=gw-ip gw-ip表示網路網關的IP地址
GAREWAYDEV=gw-dev gw-dw表示網關的設備名,如:etho等
注意:為了和老的軟體相兼容,「/etc/HOSTNAME」文件應該用和HOSTNAME=hostname相同的主機名。
*etc/hosts文件
當機器啟動時,在可以查詢DNS以前,機器需要查詢一些主機名到IP地址的匹配。這些匹配信息存放在/etc/hosts文件中。在沒有域名伺服器情況下,系統上的所有網路程序都通過查詢該文件來解析對應於某個主機名的IP地址。
下面是一個「/etc/hosts」文件的示例:
IPAddress Hostname Alias
127.0.0.1 Localhost Gate.openarch.com
208.164.186.1 gate.openarch.comGate
………… ………… ………
最左邊一列是主機IP信息,中間一列是主機名。任何後面的列都是該主機的別名。一旦配置完機器的網路配置文件,應該重新啟動網路以使修改生效。使用下面的命令來重新啟動網路:/etc/rc.d/init.d/networkrestart
*/etc/inetd.conf文件
眾所周知,作為伺服器來說,服務埠開放越多,系統安全穩定性越難以保證。所以提供特定服務的伺服器應該盡可能開放提供服務必不可少的埠,而將與伺服器服務無關的服務關閉,比如:一台作為www和ftp伺服器的機器,應該只開放80和25埠,而將其他無關的服務如:fingerauth等服務關掉,以減少系統漏洞。
而inetd,也叫作「超級伺服器」,就是監視一些網路請求的守護進程,其根據網路請求來調用相應的服務進程來處理連接請求。inetd.conf則是inetd的配置文件。inetd.conf文件告訴inetd監聽哪些網路埠,為每個埠啟動哪個服務。在任何的網路環境中使用Linux系統,第一件要做的事就是了解一下伺服器到底要提供哪些服務。不需要的那些服務應該被禁止掉,最好卸載掉,這樣黑客就少了一些攻擊系統的機會。查看「/etc/inetd.conf」文件,了解一下inetd提供哪些服務。用加上注釋的方法(在一行的開頭加上#號),禁止任何不需要的服務,再給inetd進程發一個SIGHUP信號。
第一步:把文件的許可許可權改成600。
[root@deep]#chmod600/etc/inetd.conf
第二步:確信文件的所有者是root。
[root@deep]#stat/etc/inetd.conf
第三步:編輯「inetd.conf」文件(vi/etc/inetd.conf),禁止所有不需要的服務,如:ftp、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth,等等。如果你覺得某些服務有用,可以不禁止這些服務。但是,把這些服務禁止掉,系統受攻擊的可能性就會小很多。改變後的「inetd.conf」文件的內容如下面所示:
#Tore-readthisfileafterchanges,justdoa'killall-HUPinetd'
#
#
#echodgramudpwaitrootinternal
#
#
#
#
#
#
#
#timedgramudpwaitrootinternal
#
#Thesearestandardservices.
#
#ftpstreamtcpnowaitroot/usr/sbin/tcpdin.ftpd-l-a
#telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd
#
#Shell,login,exec,comsatandtalkareBSDprotocols.
#
#shellstreamtcpnowaitroot/usr/sbin/tcpdin.rshd
#loginstreamtcpnowaitroot/usr/sbin/tcpdin.rlogind
#execstreamtcpnowaitroot/usr/sbin/tcpdin.rexecd
#comsatdgramudpwaitroot/usr/sbin/tcpdin.comsat
#talkdgramudpwaitroot/usr/sbin/tcpdin.talkd
#ntalkdgramudpwaitroot/usr/sbin/tcpdin.ntalkd
#dtalkstreamtcpwaitnobody/usr/sbin/tcpdin.dtalkd
#
#Popandimapmailservicesetal
#
#pop-2streamtcpnowaitroot/usr/sbin/tcpdipop2d
#pop-3streamtcpnowaitroot/usr/sbin/tcpdipop3d
#imapstreamtcpnowaitroot/usr/sbin/tcpdimapd
#
#TheInternetUUCPservice.
#
#uucpstreamtcpnowaituucp/usr/sbin/tcpd/usr/lib/uucp/uucico-l
#
#.Mostsites
#runthisonlyonmachinesactingas"bootservers."Donotuncomment
#thisunlessyou*need*it.
#
#tftpdgramudpwaitroot/usr/sbin/tcpdin.tftpd
#bootpsdgramudpwaitroot/usr/sbin/tcpdbootpd
#
#Finger,
#valuabletopotential"systemcrackers."Manysiteschoosetodisable
#.
#
#fingerstreamtcpnowaitroot/usr/sbin/tcpdin.fingerd
#cfingerstreamtcpnowaitroot/usr/sbin/tcpdin.cfingerd
#systatstreamtcpnowaitguest/usr/sbin/tcpd/bin/ps-auwwx
netstatstreamtcpnowaitguest/usr/sbin/tcpd/bin/netstat-finet
#
#Authentication
#
#authstreamtcpnowaitnobody/usr/sbin/in.identdin.identd-l-e-o
#
#Endofinetd.conf
注意:改變了「inetd.conf」文件之後,別忘了給inetd進程發一個SIGHUP信號(killall–HUPinetd)。
[root@deep/root]#killall-HUPinetd
第四步:
為了保證「inetd.conf」文件的安全,可以用chattr命令把它設成不可改變。把文件設成不可改變的只要用下面的命令:
[root@deep]#chattr+i/etc/inetd.conf
這樣可以避免「inetd.conf」文件的任何改變(意外或是別的原因)。一個有「i」屬性的文件是不能被改動的:不能刪除或重命名,不能創建這個文件的鏈接,不能往這個文件里寫數據。只有系統管理員才能設置和清除這個屬性。如果要改變inetd.conf文件,你必須先清除這個不允許改變的標志:
[root@deep]#chattr-i/etc/inetd.conf
但是對於諸如sendmail,named,www等服務,由於它們不象finger,telnet等服務,在請求到來時由inet守護進程啟動相應的進程提供服務,而是在系統啟動時,作為守護進程運行的。而對於redhatlinux,提供了一個linuxconfig命令,可以通過它在圖形界面下互動式地設置是否在啟動時運行相關服務。也可以通過命令來設置是否啟動時啟動某個服務,如:[root@deep]#chkconfig–level35namedoff
具體命令可以參考manchkconfig的說明。
*/etc/hosts.allow文件
但是對於telnet、ftp等服務,如果將其一同關閉,那麼對於管理員需要遠程管理時,將非常不方便。Linux提供另外一種更為靈活和有效的方法來實現對服務請求用戶的限制,從而可以在保證安全性的基礎上,使可信任用戶使用各種服務。Linux提供了一個叫TCPwrapper的程序。在大多數發布版本中該程序往往是預設地被安裝。利用TCPwrapper你可以限制訪問前面提到的某些服務。而且TCPwrapper的記錄文件記錄了所有的企圖訪問你的系統的行為。通過last命令查看該程序的log,管理員可以獲知誰曾經或者企圖連接你的系統。
在/etc目錄下,有兩個文件:hosts.denyhosts.allow通過配置這兩個文件,你可以指定哪些機器可以使用這些服務,哪些不可以使用這些服務。
當服務請求到達伺服器時,TCPwrapper就按照下列順序查詢這兩個文件,直到遇到一個匹配為止:
1.當在/etc/hosts.allow裡面有一項與請求服務的主機地址項匹配,那麼就允許該主機獲取該服務
2.否則,如果在/etc/hosts.deny裡面有一項與請求服務的主機地址項匹配,就禁止該主機使用該項服務。
3.如果相應的配置文件不存在,訪問控制軟體就認為是一個空文件,所以可以通過刪除或者移走配置文件實現對清除所有設置。在文件中,空白行或者以#開頭的行被忽略,你可以通過在行前加#實現注釋功能。
配置這兩個文件是通過一種簡單的訪問控制語言來實現的,訪問控制語句的基本格式為:
程序名列表:主機名/IP地址列表。
程序名列表指定一個或者多個提供相應服務的程序的名字,名字之間用逗號或者空格分割,可以在inetd.conf文件里查看提供相應服務的程序名:如上面的文件示例中,telent所在行的最後一項就是所需的程序名:in.telnetd。
主機名/IP地址列表指定允許或者禁止使用該服務的一個或者多個主機的標識,主機名之間用逗號或空格分隔。程序名和主機地址都可以使用通配符,實現方便的指定多項服務和多個主機。
Linux提供了下面靈活的方式指定進程或者主機列表:
1.一個以"."起始的域名串,如.amms.ac.cn那麼www.amms.ac.cn就和這一項匹配
2.以"."結尾的IP串如202.37.152.那麼IP地址包括202.37.152.的主機都與這一項匹配。
3.格式為n.n.n.n/m.m.m.m表示網路/掩碼,如果請求服務的主機的IP地址與掩碼的位與的結果等於n.n.n.n那麼該主機與該項匹配。
4.ALL表示匹配所有可能性
5.EXPECT表示除去後面所定義的主機。如:list_1EXCEPTlist_2表示list_1主機列表中除去List_2所列出的主機
6.LOCAL表示匹配所有主機名中不包含"."的主機
上面的幾種方式只是Linux提供的方式中的幾種,但是對於我們的一般應用來說是足夠了。我們通過舉幾個例子來說明這個問題:
例一:我們只希望允許同一個區域網的機器使用伺服器的ftp功能,而禁止廣域網上面的ftp服務請求,本地區域網由202.39.154.、202.39.153.和202.39.152.三個網段組成。
在hosts.deny文件中,我們定義禁止所有機器請求所有服務:
ALL:ALL
在hosts.allow文件中,我們定義只允許區域網訪問ftp功能:
in.ftpd-l–a:202.39.154202.39.153.202.39.152.
這樣,當非區域網的機器請求ftp服務時,就會被拒絕。而區域網的機器可以使用ftp服務。此外,應該定期檢查/var/log目錄下的紀錄文件,發現對系統安全有威脅的登錄事件。last命令可以有效的查看系統登錄事件,發現問題所在。
最後tcpdchk是檢查TCP_WAPPERS配置的程序。它檢查TCP_WAPPERS的配置,並報告它可以發現的問題或潛在的問題。在所有的配置都完成了之後,請運行tcpdchk程序:
[root@deep]#tcpdchk
*/etc/services文件
埠號和標准服務之間的對應關系在RFC1700「AssignedNumbers」中有詳細的定義。「/etc/services」文件使得伺服器和客戶端的程序能夠把服務的名字轉成埠號,這張表在每一台主機上都存在,其文件名是「/etc/services」。只有「root」用戶才有許可權修改這個文件,而且在通常情況下這個文件是沒有必要修改的,因為這個文件中已經包含了常用的服務所對應的埠號。為了提高安全性,我們可以給這個文件加上保護以避免沒有經過授權的刪除和改變。為了保護這個文件可以用下面的命令:
[root@deep]#chattr+i/etc/services
*/etc/securetty文件
「/etc/securetty」文件允許你規定「root」用戶可以從那個TTY設備登錄。登錄程序(通常是「/bin/login」)需要讀取「/etc/securetty」文件。它的格式是:列出來的tty設備都是允許登錄的,注釋掉或是在這個文件中不存在的都是不允許root登錄的。
注釋掉(在這一行的開頭加上#號)所有你想不讓root登錄的tty設備。
編輯securetty文件(vi/etc/securetty)象下面一樣,注釋掉一些行:
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
*使Control-Alt-Delete關機鍵無效
把「/etc/inittab」文件中的一行注釋掉可以禁止用Control-Alt-Delete關閉計算機。如果伺服器不是放在一個安全的地方,這非常重要。
編輯inittab文件(vi/etc/inittab)把這一行:
ca::ctrlaltdel:/sbin/shutdown-t3-rnow
改為:
#ca::ctrlaltdel:/sbin/shutdown-t3-rnow
用下面的命令使改變生效:
[root@deep]#/sbin/initq
*改變「/etc/rc.d/init.d/」目錄下的腳本文件的訪問許可
/etc/rc.d/init.d/下的腳本主要包含了啟動服務的腳本程序。一般用戶沒有什麼必要知道腳本文件的內容。所以應該改變這些腳本文件的許可權。
[root@deep]#chmod-R700/etc/rc.d/init.d/*
這樣只有root可以讀、寫和執行這個目錄下的腳本。
*/etc/rc.d/rc.local文件
在默認情況下,當登錄裝有Linux系統的計算機時,系統會告訴你Linux發行版的名字、版本號、內核版本和伺服器名稱。這泄露了太多的系統信息。最好只顯示一個「Login:」的提示信息。
第一步:
編輯「/ect/rc.d/rc.local」文件,在下面這些行的前面加上「#」:
--
#Thiswilloverwrite/etc/issueateveryboot.So,makeanychangesyou
#wanttomaketo/etc/.
#echo"">/etc/issue
#echo"$R">>/etc/issue
#echo"Kernel$(uname-r)on$a$(uname-m)">>/etc/issue
#
#cp-f/etc/issue/etc/issue.net
#echo>>/etc/issue --
第二步:
刪除「/etc」目錄下的「issue.net」和「issue」文件:
[root@deep]#rm-f/etc/issue
[root@deep]#rm-f/etc/issue.net
注意:「/etc/issue.net」文件是用戶從網路登錄計算機時(例如:telnet、SSH),看到的登錄提示。同樣在「」目錄下還有一個「issue」文件,是用戶從本地登錄時看到的提示。這兩個文件都是文本文件,可以根據需要改變。但是,如果想刪掉這兩個文件,必須向上面介紹的那樣把「/etc/rc.d/rc.local」腳本中的那些行注釋掉,否則每次重新啟動的時候,系統又會重新創建這兩個文件。
試試!
③ Linux 下實現SSH互信
一、准備兩台伺服器:
A機:192.168.1.1
B機:192.168.1.2
二、雙機建立信任
1、在A機生成秘鑰證書
在root下執行ssh-keygen命令,一路回車,生成秘鑰證書
# ssh-keygen -t rsa
2、查看生成秘鑰文件
# cd ~/.ssh
# ll
文件:私鑰證書id_rsa、公鑰證書id_rsa.pub
3、A對B建立信任關系
3.1 將公鑰證書id_rsa.pub復制到機器B的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys
# scp -r id_rsa.pub [email protected]:/root/.ssh/authorized_keys
3.2 若3.1報錯:No such file or directory
使用:# ssh--id -i id_rsa.pub [email protected]
ssh--id命令會自動將id_rsa.pub文件的內容追加到遠程主機root用戶下.ssh/authorized_keys文件中
3.3 查看B機器是否接收
# ssh 192.168.1.2
# cd .ssh/
# ls
# cat authorized_keys
# exit
3.4 B對A建立信任,同上3的操作步驟
④ linux與windows兩個操作系統之間能建立信任關系么
可以的,這個可以使用VM虛擬機,採用linux的smb服務,這是在本地主機上 實現文件的共享或傳輸;另外,如果是遠程終端的形式,那就可以使用lftp來實現,建立信任 可以採用用匿名登錄 或者就是ftp用戶登錄 就可以啦!
⑤ linux ssh 跳轉的時候提示Permission denied (publickey).
機器之前需要建立信任關系才能使用ssh互相連接,截圖裡面有方法,照著做就行了。
⑥ Linux 有沒有命令來實現對比兩台伺服器的時間
設置信任關系,比如ssh、rsh免密碼登錄,執行date命令即可
⑦ 如何通過linux ssh遠程linux不用輸入密碼登入
前言
我們在進行客戶機到主機的SSH連接的時候,往往採用PASSWORD登陸的方式,總是顯得很繁瑣。我們可以更具RSA密鑰來避免這種登陸方式。
場景
我們需要從client機器上遠程登陸server機器。登陸方式採用RSA密鑰免密碼登陸方式。其中client機器為Fedora,server為Ubuntu。
步驟
客戶機生成密鑰
用corey登陸客戶機client。
[corey@corey-fedora .ssh]$Su
[corey@corey-fedora .ssh]$Chmod a+w /home/corey/.ssh
[corey@corey-fedora .ssh]$Su corey
[corey@corey-fedora .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/corey/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/corey/.ssh/id_rsa.
Your public key has been saved in /home/corey/.ssh/id_rsa.pub.
The key fingerprint is:
d4:4b:69:f3:19:bc:bf:82:56:40:43:4c:57:02:43:1a corey@corey-fedora
The key's randomart image is:
+--[ RSA 2048]----+
| E=*.o.. |
| ++= . |
| o.*.o |
| . o.+ + |
| S ..+ |
| .. |
| o . |
| o . . |
| . .. |
+-----------------+
[corey@corey-fedora .ssh]$ ls
id_rsa id_rsa.pub
上傳公鑰至伺服器
用corey登陸server伺服器。將id_rsa.pub上傳到/home/corey/.ssh
corey@corey-ubuntu:~/.ssh$ cat id_rsa.pub >>authorized_keys
corey@corey-ubuntu:~/.ssh$ ls
authorized_keys id_rsa id_rsa.pub
corey@corey-ubuntu:~/.ssh$ chmod 644 authorized_keys
corey@corey-ubuntu:~/.ssh$ ls
authorized_keys id_rsa id_rsa.pub
corey@corey-ubuntu:~/.ssh$
從客戶機client登陸server
[corey@corey-fedora .ssh]$ ssh 192.168.1.103
The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
RSA key fingerprint is 5b:3b:4d:00:b6:9f:e7:d6:fb:e9:9f:25:40:4d:4a:50.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.103' (RSA) to the list of known hosts.
Linux corey-ubuntu 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
indivial files in /usr/share/doc/*/right.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
285 packages can be updated.
318 updates are security updates.
Last login: Wed Jun 16 10:37:01 2010 from 192.168.1.100
Note
客戶機的.ssh目錄必須在生成rsa密鑰的時候可寫
服務主機的.ssh許可權為700
服務主機的authorized_keys許可權為644
主機和客戶機的用戶用戶名相同(本文同為corey)