linux centos cvs?linux国产浏览器
今天给各位分享linux centos cvs的知识,其中也会对linux国产浏览器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何在Linux中运行Win32下的软件
使用wine可以达到您要的效果,但不是100%成功,个别的软件会报dll错误。
以下是详细使用方法:
在安装前请确保你的系统中装有 gcc 3.x(推荐使用 3.2.x),很多读者反映在 gcc 2.9.x上编译存在问题。
wine的安装配置
wine的最新版本是 20030408,下面将介绍如何安装配置 wine。
1.下载 wine并解压缩:
请到 wine的官方网站下载最新的 tarball压缩文件包。或者,如果不想手工打中文输入法的补丁的话,可以直接下载打好补丁的 wine-20030408。(如果你是下载的这个已经打过补丁的,就可以跳过下一步)这个版本的文件名为 Wine-20030408.tar.gz
tar xvfz Wine-20030408.tar.gz
现在你可以在当前目录中看到一个名为 wine-20030408的目录。以下假设你将 wine解压缩到~/wine-20030408下,即你在你的home下,运行上述命令。
2.下载并应用中文输入法补丁:
如果你的手头上已经有一个现成的官方版本的 wine-20030408,那么你可以下载wine中文输入法补丁(包括中文复制、粘贴的支持),并将其存到~/wine-目录下。
应用之:
cd~/wine-20030408
patch-p1< xim_copyparse_0417.diff
注:这个patch也可以使用在最新的(20030410)CVS上。
3.编译安装 wine:
cd wine-20030408
./configure--prefix=/usr/local/wine
注意:强烈建议指定安装目录,此处为/usr/local/wine,这样后面会方便很多。
请检查此命令的输出,如果他没有找到一些需要的包,而你又希望使用那个包提供的功能时,请安装相应的 devel包(mandrake下的命名方法)。
一切正常后,编译并以root身份安装
make depend&& make&& make install
4.配置 wine:
在用户的HOME中建立目录和配置文件
cd
mkdir.wine
cp wine-20030408/documentation/samples/config.wine/
使用您习惯的文本编辑器,修改.wine/config使其反应您的系统状态。打开 config后,主要修改最前面的定义驱动器的部分。首先,删除对Drive A的设定的一行:([Drive A]的最后一行)
"Device"="/dev/fd0"
然后请根据你的机器的情况,修改剩余的驱动器。下面给出我的一部分
[Drive C]
"Path"="/backup/c_drive"
"Type"="hd"
"Label"="Dos Drive"
"Filesystem"="win95"
[Drive D]
"Path"="/mnt/d/"
"Type"="hd"
"Label"="My Home"
"Filesystem"="win95"
建议:不要将 c:指向一个存在的真实 windows盘,而是自己建立一个“假”的,比如,你想在/backup/c_drive下建立一个虚拟 windows的 c盘,则执行如下命令(执行以下命令一般需要root权限)
mkdir/backup/c_drive
cd/backup/c_drive
mkdir-p windows windows/Start\ Menu\
windows/Start\ Menu/Programs windows/Fonts windows/system32 windows/Desktop
ln-s/windows/system32 windows/system
为了可以运行不论处于你linux任何目录下的程序,建议添加一个盘,如下(盘符是你现有的下一个就可以了)
[Drive G]
"Path"="/"
"Type"="hd"
"Label"="root"
"Filesystem"="win95"
别的基本不需要修改,默认值就可以了。如果你的硬盘上有 NTFS格式的分区,请参阅常见问题。
注意:请根据你的系统来配置以上的目录,否则将无法启动运行wine。
5.配置共享库目录:
由于我们自己指定了安装目录,所以共享库不位于系统已知的目录中,为了告诉系统到哪里找,可以修改/etc/ld.so.conf文件,但是,一个更好的方案是使用 shell的环境变量:LD_LIBRARY_PATH。在一个 console中,执行命令
export LD_LIBRARY_PATH="/usr/local/wine/lib"
现在在这个 console中,你可以继续下一步了。(是不是觉得太麻烦了,每次要执行一个 windows程序就要这样做,不用担心,后面提供一个脚本,自动完成这些工作)
6.复制字体:
复制几个字体到 windows/Fonts下,推荐至少将 simsun.ttf复制/连接到这个目录下(不可一个字体都没有,否则会造成 X自动退出)。
7.测试你的 wine:
在命令行输入/usr/local/wine/bin/wine notepad,如果成功看到了记事本程序,则说明 wine已经可以正常工作了,试试中文输入,中文的复制和粘贴(目前仅支持wine与 KDE程序间中文的复制和粘贴,不支持gtk/gnome的程序);如果出现错误信息,请根据提示检查上面的各步。如果你得到的错误信息类似于找不到 libnt.dll.so或者 version.dll之类的,那么你应该是忘记了做步骤4;如果发生如下的错误:
spider c$ wine notepad
Invalid path L"e:\\" for L"temp" directory: does not exist.
Perhaps you have not properly edited or created your Wine configuration file,
which is(supposed to be)'/home/spider/.wine/config'.
/usr/local/wine/bin/wine-all notepad
说明你的[wine]下的"Temp"属性指向了一个不存在的目录,将其改为指向/tmp就可以了:如第4步,你将G指向/,则这样设置:"Temp"="G:\\tmp"
优化我们的 wine
现在,wine可以正常使用了,但是,还是太麻烦了,所以,我们来进行一些小小改进。同时,为了正常运行 xdict,我们也要作些关键性的调整。
1.下载 wine工具包,其中有一个名为 wine的文件,他的工作就是自动设定 LD_LIBRARY_PATH目录。如果你的安装目录不同于我的,那么请修改之。将其保存到/usr/bin下,并使其可以执行
chmod+x/usr/bin/wine
2.安装支持文件 dcom98:为了在 linux下安装使用 installshield做的 setup,必须要装这个东东,请在微软下载,并使用 wine dcom98.exe来安装。如果在复制完文件后报告错误:A newer version of DCOM95 or DCOM98 has been installed...,那么请先做下一步。
3.可以在本站下载常用的 win98 DLL包,并将其解压到你的虚拟C盘下的 windows/system32下面。
4.可以修改 windows的默认用户和默认的用户组织:打开~/.wine/system.reg中的RegisteredOrganization和 RegisteredOwner就可以了。
wine的自带工具以及使用技巧
本部份简要介绍几个 wine自带的工具及其功用(仅介绍比较常用的):
1. uninstaller:反安装已经安装的程序
在 console中输入: wine uninstaller,然后你就知道了
2. progman:程序管理器
wine progman,我觉得这个工具类似于 windows的任务条。
3. regedit:维护注册表
wine regedit:与windows的 regedit在功能和命令行参数上完全一样,不同仅仅是这个没有 GUI界面。使用这个工具可以安全的向注册表中导入信息。如果你想用 wine来玩 starcraft或 diable II,又想上战网的话,那么可以用它来导入注册表文件。
4. winecfg:图形配置工具
wine winecfg:可以使用这个工具来对 wine进行一些基本的配置。功能比较有限,聊胜于无吧。
5. winefile:资源管理器
wine winefile: windows下的资源管理器,想必是使用windows的用户最常使用的软件吧,这个就是那个的一个功能子集。
6. winemine: windows扫雷
wine winemine:对,就是 windows下的扫雷,在穷极无聊时的一种解决方案
7. regsvr32:自动注册动态连接库
wine regsvr32:某些软件安装时,出于某些原因可能要自己使用这个来注册几个DLL文件。
常见问题:
1.无法输入中文?
答:我的结论是,在 gbk或 gb2312时可以输入中文,但是在 gb18030下不行。请改变 locale为 GBK试一下。
2.退出wine时,出现如下错误:
Unhandled exception: privileged instruction in 32-bit code(0x414f56a8).
In 32-bit mode.
0x414f56a8(_end+0x406e0c in libGLcore.so.1): movl%gs:0x0,%eax
答:试试将 glx从 XF86Config配置文件中注释掉。
3.发生类似如下的错误: err:module:import_dll Module(file) COMCTL32.dll(which is needed by J:\Setup.exe) not found,怎么解决?
答:这类错误是由于在 c:\windows\system32(system)目录下找不到某个需要的 native的 DLL文件造成的(此例是 COMCTL32.dll)。解决方法是从一个真正的 windows安装盘下的相应目录copy过来一个。
4.如果一个分区是 NTFS的,安装的是 win2000/winxp,应如何设置 wine的driver部分?
答:不建议使用任何 NTFS分区上的文件,因为linux内核对 NTFS的支持,仅限于读,而如果要写入的话,是很危险的(所以默认的 mount是只读的)。因此,请使用 fat32分区或任何 linux格式的分区。
5.编译时发生错误?
答:首先请确保你的系统中装有 gcc 3.x(推荐使用 3.2.x);wine在 GNU/Linux主流发行版的较新版本中以及基于源代码的发行版中编译不成问题,但是在 FreeBSD下好像不可以。
6.在运行程序时总是得到类似如下的错误提示:
wine: chdir to/tmp/.wine-root/server-305-242e2: No such file or directory
答:这是因为你用root用户运行wine的问题。解决方案如下:退出 X,删除/tmp下所有东东,然后用普通用户运行wine。我的建议是,平时也不要使用 root,使用一个普通用户既安全又可以避免很多不必要的麻烦。另一个解决方案(出处)是在编译的时候指定参数:
./configure--with nptl--with-x--prefix=/usr/local/wine
后面的步骤与前述过程相同。
7.某某程序是否可以使用wine来运行?
答:关于某个英文软件是否可以在 wine下正常(或基本正常)的运行,大家可以到 winehq看看,如果找不到你关心的程序,可以到应用程序资料库搜索一下,看看其他用户的 comments,就知道是否有人运行成功了。
测试通过的输入法
尽管理论上,所有的输入法都应该没问题,但我认为这个部分可以让你知道你喜爱用的输入法是否已确认被支持。
以下是我测试过的输入法:(括号中为测试过的版本)
* xsim(0.3.9.4)
* chinput
* erb-fcitx(1.8.x)
* scim(0.4.0,0.3.1)
minichinput是由 chinput修改而成, fcitx是 erb-fcitx的基础,所以我觉得这2个输入法也应该没有问题。
现在的这个补丁已经不需要修改任何输入法,就可以正确的使用退格等键了,并且修正了在QQ中使用时,会crash的问题,请大家试用。如果先前你下载了旧补丁,你可以先取消掉(patch的-R参数)那个补丁,再应用这个新的就可以了。
如果您有好的建议和、或修改意见,请不吝赐教:)
如果你成功的安装上了,也请麻烦通知我一声,如果可能的话,我也希望你能告诉我你的运行环境:发行版及其版本号,KDE的版本,gcc的以及你所使用的输入法的名称和版本,多谢。
注:
以上在 mandrake 9.0, kde 3.0.3,gcc3.2
gentoo 1.4rc_2, kde 3.1.0, gcc 3.2
gentoo 1.4rc_3, kde 3.1.1, gcc 3.2.1
下测试通过。
ubuntu修改了ssh配置后 putty 还是出现access denied
你可以从以下几点查看实验下。
首先,先备份一下配置文件。
mkdir~/backup
cp/etc/ssh/ssh_config~/backup/ssh_config
第二步,编辑文件:
vi/etc/ssh/ssh_config
使用“/”搜搜看下Allow/Deny开头的项目,全部注释掉。(我查看了下,有些文章说AllowUsers参数会限制访问用户,需要在后面添加root,才能使用root账户ssh登陆,但我在我的centos7的ssh_config文件中未看到此参数,虽然有一些其他Allow\Deny开头的参数,不过全部都是被注释状态。可以参考最后我的sshd_config文件。)
修改完成后,重启服务/etc/init.d/ssh start(参考的百度出来的文章结果,我实际实验结果是:守护进程里并没有ssh,无法运行此命令,chkconfig里也没有sshd进程,service也无法重启ssh,所以我直接reboot了系统)
如果,依然不行进行下一步。
第三步,同网段内其他windows主机打开cmd,查看主机ssh端口(如果修改了默认端口,得自行把22修改为正确端口)是否正常。
win+r,输入cmd
ping(ubuntu主机IP地址)#首先要保证网络通
telnet(ubuntu主机IP地址)22#查看端口是否通
如果正常,应该显示类似“SSH-2.0-OpenSSH_6.6.1”的消息,或者是纯黑屏,再次点击回车断开连接。
第四步,如果上一步显示不正常,可能是防火墙设置问题,关闭或设置防火墙
ufw disable(方法一:关闭防火墙)
ufw allow 22/tcp(方法二:打开端口22)
(注:我用的centos采用的是最小化安装,未安装防火墙,这一步骤是我参考的网上资料,未进行实验。具体可自行百度。)
最后附上我的ssh_config文件。
#$OpenBSD:sshd_config,v1.932014/01/1005:59:19djmExp$
#Thisisthesshdserversystem-wideconfigurationfile.See
#sshd_config(5)formoreinformation.
#ThissshdwascompiledwithPATH=/usr/local/bin:/usr/bin
#Thestrategyusedforoptionsinthedefaultsshd_configshippedwith
#OpenSSHistospecifyoptionswiththeirdefaultvaluewhere
#possible,butleavethemcommented.Uncommentedoptionsoverridethe
#defaultvalue.
#IfyouwanttochangetheportonaSELinuxsystem,youhavetotell
#SELinuxaboutthischange.
#semanageport-a-tssh_port_t-ptcp#PORTNUMBER
#
#Port22
#AddressFamilyany
#ListenAddress0.0.0.0
#ListenAddress::
#Thedefaultrequiresexplicitactivationofprotocol1
#Protocol2
#HostKeyforprotocolversion1
#HostKey/etc/ssh/ssh_host_key
#HostKeysforprotocolversion2
HostKey/etc/ssh/ssh_host_rsa_key
#HostKey/etc/ssh/ssh_host_dsa_key
HostKey/etc/ssh/ssh_host_ecdsa_key
HostKey/etc/ssh/ssh_host_ed25519_key
#Lifetimeandsizeofephemeralversion1serverkey
#KeyRegenerationInterval1h
#ServerKeyBits1024
#Ciphersandkeying
#RekeyLimitdefaultnone
#Logging
#obsoletesQuietModeandFascistLogging
#SyslogFacilityAUTH
SyslogFacilityAUTHPRIV
#LogLevelINFO
#Authentication:
#LoginGraceTime2m
#PermitRootLoginyes
#StrictModesyes
#MaxAuthTries6
#MaxSessions10
#RSAAuthenticationyes
#PubkeyAuthenticationyes
#Thedefaultistocheckboth.ssh/authorized_keysand.ssh/authorized_keys2
#butthisisoverriddensoinstallationswillonlycheck.ssh/authorized_keys
AuthorizedKeysFile.ssh/authorized_keys
#AuthorizedPrincipalsFilenone
#AuthorizedKeysCommandnone
#AuthorizedKeysCommandUsernobody
#Forthistoworkyouwillalsoneedhostkeysin/etc/ssh/ssh_known_hosts
#RhostsRSAAuthenticationno
#similarforprotocolversion2
#HostbasedAuthenticationno
#Changetoyesifyoudon'ttrust~/.ssh/known_hostsfor
#RhostsRSAAuthenticationandHostbasedAuthentication
#IgnoreUserKnownHostsno
#Don'treadtheuser's~/.rhostsand~/.shostsfiles
#IgnoreRhostsyes
#Todisabletunneledcleartextpasswords,changetonohere!
#PasswordAuthenticationyes
#PermitEmptyPasswordsno
PasswordAuthenticationyes
#Changetonotodisables/keypasswords
#ChallengeResponseAuthenticationyes
ChallengeResponseAuthenticationno
#Kerberosoptions
#KerberosAuthenticationno
#KerberosOrLocalPasswdyes
#KerberosTicketCleanupyes
#KerberosGetAFSTokenno
#KerberosUseKuserokyes
#GSSAPIoptions
GSSAPIAuthenticationyes
GSSAPICleanupCredentialsno
#GSSAPIStrictAcceptorCheckyes
#GSSAPIKeyExchangeno
#GSSAPIEnablek5usersno
#Setthisto'yes'toenablePAMauthentication,accountprocessing,
#andsessionprocessing.Ifthisisenabled,PAMauthenticationwill
#beallowedthroughtheChallengeResponseAuthenticationand
#PasswordAuthentication.DependingonyourPAMconfiguration,
#PAMauthenticationviaChallengeResponseAuthenticationmaybypass
#thesettingof"PermitRootLoginwithout-password".
#IfyoujustwantthePAMaccountandsessioncheckstorunwithout
#PAMauthentication,thenenablethisbutsetPasswordAuthentication
#andChallengeResponseAuthenticationto'no'.
#WARNING:'UsePAMno'isnotsupportedinRedHatEnterpriseLinuxandmaycauseseveral
#problems.
UsePAMyes
#AllowAgentForwardingyes
#AllowTcpForwardingyes
#GatewayPortsno
X11Forwardingyes
#X11DisplayOffset10
#X11UseLocalhostyes
#PermitTTYyes
#PrintMotdyes
#PrintLastLogyes
#TCPKeepAliveyes
#UseLoginno
UsePrivilegeSeparationsandbox#Defaultfornewinstallations.
#PermitUserEnvironmentno
#Compressiondelayed
#ClientAliveInterval0
#ClientAliveCountMax3
#ShowPatchLevelno
#UseDNSyes
#PidFile/var/run/sshd.pid
#MaxStartups10:30:100
#PermitTunnelno
#ChrootDirectorynone
#VersionAddendumnone
#nodefaultbannerpath
#Bannernone
#Acceptlocale-relatedenvironmentvariables
AcceptEnvLANGLC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGES
AcceptEnvLC_PAPERLC_NAMELC_ADDRESSLC_TELEPHONELC_MEASUREMENT
AcceptEnvLC_IDENTIFICATIONLC_ALLLANGUAGE
AcceptEnvXMODIFIERS
#overridedefaultofnosubsystems
Subsystemsftp/usr/libexec/openssh/sftp-server
#Exampleofoverridingsettingsonaper-userbasis
#MatchUseranoncvs
#X11Forwardingno
#AllowTcpForwardingno
#PermitTTYno
#ForceCommandcvsserver
linux 远程登录工具哪个好
在我们日常管理与维护服务器个过程中,我们都需要使用远程连接工具,今天我们就一同来总结下Linux常用的安全远程连接工具-OpenSSH。
【远程登录协议】
1、telnet:是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主
机工作的能力。默认使用的是TCP的23号端口,采用C/S架构,在用户登录的过程中传输的信息都是明文信息,安全无法保障,所以不建议用telnet。
2、ssh:为Secure Shell的缩写,由IETF的网络工作小组所制定;SSH
为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH
协议可以有效防止远程管理过程中的信息泄露问题。默认使用的是TCP的22号端口,也是基于C/S架构,SSH有两个版本v1与v2。
sshv1:基于CRC-32做MAC(消息摘要认证),不安全,强烈建议不使用;
sshv2:基于双方主机的协商选择使用最安全的MAC方式,其有如下特点:1、加密机制及MAC机制由双方协商选定;2、基于DH实现密钥交换,基于RSA或DSA实现身份认证;3、客户端通过检查服务器端的主机密钥来判断是否能够继续通信;
【OpenSSH简述】
OpenSSH是一组用于安全地访问远程计算机的连接工具。它可以作为rlogin、rsh
rcp以及telnet的直接替代品使用。更进一步,其他任何TCP/IP连接都可以通过SSH安全地进行隧道/转发。OpenSSH
对所有的传输进行加密,从而有效地阻止了窃听、连接劫持,以及其他网络级的攻击。OpenSSH由 OpenBSD project维护。
登录过程和使用rlogin或telnet建立的会话非常类似。在连接时,SSH
会利用一个密钥指纹系统来验证服务器的真实性。只有在第一次连接时,用户会被要求输入yes进行确认,之后的连接将会验证预先保存下来的密钥指纹。如果保
存的指纹与登录时接收到的不符,则将会给出警告。指纹保存在~/.ssh/known_hosts中,对于SSHv2指纹,则是
~/.ssh/known_hosts2。
默认情况下,较新版本的OpenSSH只接受SSHv2连接。如果能用版本2则客户程序会自动使用,否则它会返回使用版本1的模式。此外,也可以通
过命令行参数-1或-2来相应地强制使用版本1或2。保持客户端的版本1能力是为了考虑较早版本的兼容性,建议尽量使用版本2。
【SSH服务器和客户端工作流程】
OpenSSH使用C/S架构:
服务端工具(S):sshd
客户端工具(C):ssh命令、putty、xshell、securecrt、sshshellclient;
【OpenSSH客户端组件-ssh】
配置文本:/etc/ssh/ssh_config
使用方法:
ssh [username@] host [COMMAND]或 ssh-l username host [COMMAND]
-p PORT:指定远程服务器端口;
-l username:指定登录远程主机的用户,不指定则使用当前用户;
username@:等同于-l username;
如果设置了COMMAND,表示使用username账户登录远程主机执行一次指定的命令并返回结果,不会停留在远程主机上;
[root@www~]# ssh 192.168.0.110#使用root用户登录;
The authenticity of host'192.168.0.110(192.168.0.110)' can't be established.
RSA key fingerprint is 01:2e:43:cc:bc:1d:f1:e5:f0:f4:89:78:74:a9:49:44.
Are you sure you want to continue connecting(yes/no)? yes#第一次连接,需手动进行确认;
Warning: Permanently added'192.168.0.110'(RSA) to the list of known hosts.
root@192.168.0.110's password:#输入远程主机root账户的密码;
Last login: Mon May 11 16:44:52 2015 from 192.168.0.104
[root@mailCentOS6~]##登录成功了,远程主机名为mailCentOS6;
[root@mailCentOS6~]# ls#显示远程主机root家目录下的文件;
2.sh boot.iso install.log sdb.mbr test1
anaconda-ks.cfg crontab install.log.syslog\temp\test
[root@mailCentOS6~]# exit#退出登录;
logout
Connection to 192.168.0.110 closed.
[root@www~]# ssh root@192.168.0.110 ls#使用root登录远程主机,执行一次ls命令,返回结果便退出;
root@192.168.0.110's password:#第二次连接,就不需要输入yes了,直接输入密码即可;
2.sh
anaconda-ks.cfg
boot.iso
crontab
install.log
install.log.syslog
sdb.mbr
\temp\test
test1
[root@www~]##看到了吗,我们当前并没有登录在远程主机;
【OpenSSH服务器端组件-sshd】
配置文件:/etc/ssh/sshd_config(通过修改此文件可以修改ssh的默认监听端口与其他参数)
服务脚本:/etc/rc.d/init.d/sshd
服务启动|停止|重启:serveice sshd start|stop|restart
脚本配置文件:/etc/sysconfig/sshd
配置参数
# man sshd_config查看配置参数的说明;
# vim/etc/sysconfig/sshd通过编辑配置文件来修改配置参数;
#+空格+文字:以此格式开头的行表示改行为注释说明;
#+文字:以此格式开头的行表示可启用选项,不改变则表示使用该选项的默认设置,反之使用设定值“#”要去掉哦!
例:#Port 22如不去掉#且22不变,表示使用默认的22号端口;
若把#Port 22改成port 7777,表示把sshd的监听端口改成7777;
注意:修改参数与配置后,必须重启服务(service sshd restart).
经常需要修改的参数:
[root@www~]# cat/etc/ssh/sshd_config
#$OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp$
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22#修改默认监听的端口;
port 7777#把sshd的监听端口改成7777;
#AddressFamily any#监听的地址家族,指定是监听在IPV4上还是IPV6上,any表示所有;
#ListenAddress 0.0.0.0#指定监听的地址(0.0.0.0表示本机的所有地址);
#ListenAddress::
# Disable legacy(protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2
# HostKey for protocol version 1
#HostKey/etc/ssh/ssh_host_key#使用shhv1用到的主机密钥;
# HostKeys for protocol version 2
#HostKey/etc/ssh/ssh_host_rsa_key
#HostKey/etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024#密钥长度;
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m#登录宽限期;
#PermitRootLogin yes#是否允许管理员直接登录;
#StrictModes yes
#MaxAuthTries 6#最大密码输入错误次数;
#MaxSessions 10#最大会话个数;
#RSAAuthentication yes#是否允许使用RSA机制来认证;
#PubkeyAuthentication yes
#--------中间不长改变的配置参数略----------
Subsystem sftp/usr/libexec/openssh/sftp-server#表示是否启动sftp功能;
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
sshd认证方式:
1、基于口令的认证;
2、基于密钥的认证;
# ssh-keygen-t rsa用rsa算法生成密钥,默认密钥为id_rsa(私钥), id_rsa.pub(公钥)
# ssh-keygen-f/path/to/somefile-P oldpassword根据现有的密钥文件生成密钥
-f/path/to/somefile:密钥文件保存在的位置;
-P'':指定生成旧密钥时使用的密码;
方法一:把本地主机生成的公钥 id_rsa.pub使用scp复制到远程主机的上,在远程主机使用cat id_rsa.pub>>.ssh/authorized_keys追加该公钥信息,这样就可以实现基于密钥认证的ssh登录;
方法二:# ssh-copy-id-i.ssh/id_rsa.pub USERNAME@HOST
[root@www~]# ssh-keygen-t rsa#用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:
c2:f9:c2:3d:4d:ca:52:39:7a:a7:33:de:42:11:d3:8f root@www.99.com
The key's randomart image is:
+--[ RSA 2048]----+
|.|
| o.|
| o o|
|....E.|
|+ S..|
|. B.=|
|=.B o|
|++=|
|.o+.|
+-----------------+
[root@www~]# ssh-keygen-f.ssh/id_rsa-P''#根据现有密钥文件重新生成密钥;
Generating public/private rsa key pair.
.ssh/id_rsa already exists.
Overwrite(y/n)? y#提示是否确定要覆盖;
Your identification has been saved in.ssh/id_rsa.
Your public key has been saved in.ssh/id_rsa.pub.
The key fingerprint is:
bf:55:f0:0b:a5:ee:4e:4a:1d:d3:b1:0e:66:ee:55:9b root@www.99.com
The key's randomart image is:
+--[ RSA 2048]----+
||
||
|. o|
|* o|
| S O=.|
|.* B oo|
| o*+E|
|. B.|
| o.+|
+-----------------+
#-----使用方法一:实现通过密钥文件完成身份验证(不需要输入密码)-----
[root@www~]# scp.ssh/id_rsa.pub root@192.168.0.110:/root/#使用spc命令复制公钥文件到远程
#主机的用户家目录下的.ss/路径下;
root@192.168.0.110's password:#输入登录远程主机的密码;
id_rsa.pub 100% 397 0.4KB/s 00:00#提示复制成功;
[root@mailCentOS6~]# ls.ssh/#验证确认文件复制成功;
id_rsa.pub known_hosts
[root@mailCentOS6~]# touch.ssh/authorized_keys#路径内没有自动验证密钥文件,创建一个;
[root@mailCentOS6~]# cat.ssh/id_rsa.pub>>.ssh/authorized_keys#把公钥追加到自动验证密钥文件;
[root@www~]# ssh 192.168.0.110
Last login: Mon May 11 20:45:10 2015 from 192.168.0.111
[root@mailCentOS6~]##OK了,看到了没有,不用输入密码我们就直接可以远程登录了!!
#-----使用方法二:实现通过密钥文件完成身份验证(不需要输入密码)-----
[root@mailCentOS6~]# rm-f.ssh/authorized_keys#删除原有保存的自动验证密钥文件;
[root@www~]# ssh-copy-id-i.ssh/id_rsa.pub root@192.168.0.110#使用命令自动传输生成自动验证密钥文件;
root@192.168.0.110's password:
Now try logging into the machine, with"ssh'root@192.168.0.110'", and check in:
.ssh/authorized_keys#提示生成的文件;
to make sure we haven't added extra keys that you weren't expecting.
[root@www~]# ssh 192.168.0.110#验证看看是否可以登录;
Last login: Mon May 11 21:02:29 2015 from 192.168.0.111
[root@mailCentOS6~]# ls.ssh/#看到了没有,我们现在已经登录到了mailCentOS6这台主机上了;
authorized_keys known_hosts
【命令补充】
scp:利用ssh协议在主机之间实现安全文件传输的工具
scp SRC1... DEST
分两种情形:
1、源文件在本机,目标为远程主机
# scp/path/to/somefile... USERNAME@HOST:/path/to/somewhere
源可以是目录或文件有多个,目标必须是目录
2、源文件在远程,本地为目标
# scp USERNAME@HOST:/path/to/somewhere/path/to/somewhere
-r:复制目录时使用(实现递归复制),scp默认不能复制目录;
-p:保持源文件的元数据信息,包括mode和timestamp
-q:静默模式,复制过程不显示状态信息;
-p PORT:指定ssh协议监听的端口(远程主机)。