⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linux系统中openssh的安装配置.doc

📁 Linux系统中OpenSSH的安装配置
💻 DOC
📖 第 1 页 / 共 3 页
字号:
ForwardAgent no <br />
“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。 <br />
<br />
ForwardX11 no <br />
“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。 <br />
<br />
RhostsAuthentication no <br />
“RhostsAuthentication”设置是否使用基于rhosts的安全验证。 <br />
<br />
RhostsRSAAuthentication no <br />
“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。 <br />
<br />
RSAAuthentication yes <br />
“RSAAuthentication”设置是否使用RSA算法进行安全验证。 <br />
<br />
PasswordAuthentication yes <br />
“PasswordAuthentication”设置是否使用口令验证。 <br />
<br />
FallBackToRsh no <br />
“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。 <br />
<br />
UseRsh no <br />
“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。 <br />
<br />
BatchMode no <br />
“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。 <br />
<br />
CheckHostIP yes <br />
“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。 <br />
<br />
StrictHostKeyChecking no <br />
“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。 <br />
<br />
IdentityFile ~/.ssh/identity <br />
“IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。 <br />
<br />
Port 22 <br />
“Port”设置连接到远程主机的端口。 <br />
<br />
Cipher blowfish <br />
“Cipher”设置加密用的密码。 <br />
<br />
EscapeChar ~ <br />
“EscapeChar”设置escape字符。 <br />
<br />
配置“/etc/ssh/sshd_config”文件 <br />
<br />
“/etc/ssh/sshd_config”是OpenSSH的配置文件,允许设置选项改变这个daemon的运行。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(sshd (8))可以得到详细的列表。 <br />
<br />
编辑“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改变下面的参数: <br />
<br />
# This is ssh server systemwide configuration file. <br />
Port 22 <br />
ListenAddress 192.168.1.1 <br />
HostKey /etc/ssh/ssh_host_key <br />
ServerKeyBits 1024 <br />
LoginGraceTime 600 <br />
KeyRegenerationInterval 3600 <br />
PermitRootLogin no <br />
IgnoreRhosts yes <br />
IgnoreUserKnownHosts yes <br />
StrictModes yes <br />
X11Forwarding no <br />
PrintMotd yes <br />
SyslogFacility AUTH <br />
LogLevel INFO <br />
RhostsAuthentication no <br />
RhostsRSAAuthentication no <br />
RSAAuthentication yes <br />
PasswordAuthentication yes <br />
PermitEmptyPasswords no <br />
AllowUsers admin <br />
<br />
下面逐行说明上面的选项设置: <br />
<br />
Port 22 <br />
“Port”设置sshd监听的端口号。 <br />
<br />
ListenAddress 192.168.1.1 <br />
“ListenAddress”设置sshd服务器绑定的IP地址。 <br />
<br />
HostKey /etc/ssh/ssh_host_key <br />
“HostKey”设置包含计算机私人密匙的文件。 <br />
<br />
ServerKeyBits 1024 <br />
“ServerKeyBits”定义服务器密匙的位数。 <br />
<br />
LoginGraceTime 600 <br />
“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。 <br />
<br />
KeyRegenerationInterval 3600 <br />
“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。 <br />
<br />
PermitRootLogin no <br />
“PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。 <br />
<br />
IgnoreRhosts yes <br />
“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。 <br />
<br />
IgnoreUserKnownHosts yes <br />
“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts” <br />
<br />
StrictModes yes <br />
“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。 <br />
<br />
X11Forwarding no <br />
“X11Forwarding”设置是否允许X11转发。 <br />
<br />
PrintMotd yes <br />
“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。 <br />
<br />
SyslogFacility AUTH <br />
“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。 <br />
<br />
LogLevel INFO <br />
“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。 <br />
<br />
RhostsAuthentication no <br />
“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。 <br />
<br />
RhostsRSAAuthentication no <br />
“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。 <br />
<br />
RSAAuthentication yes <br />
“RSAAuthentication”设置是否允许只有RSA安全验证。 <br />
<br />
PasswordAuthentication yes <br />
“PasswordAuthentication”设置是否允许口令验证。 <br />
<br />
PermitEmptyPasswords no <br />
“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。 <br />
<br />
AllowUsers admin <br />
“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是DNS名或IP地址。 <br />
<br />
配置OpenSSH使其使用TCP-Wrappers inetd超级服务器 <br />
<br />
TCP-WRAPPERS用来启动和停止sshd1服务。当inetd运行的时候,它会从配置文件(默认为“/etc/inetd.conf”)中读入配置信息。在配置文件中每一行的不同项是用TAB或空格分开。 <br />
<br />
第一步 <br />
<br />
编辑“inetd.conf”文件(vi /etc/inetd.conf)并加入这一行: <br />
<br />
ssh stream tcp nowait root /usr/sbin/tcpd sshd –i <br />
<br />
注意:“-i”参数很重要,它说明sshd是被inetd运行的。在加入这一行后,通过发送一个SIGHUP信号(killall –HUP inetd)来更新“inetd.conf”文件。 <br />
<br />
[root@deep /root]# killall -HUP inetd <br />
<br />
第二步 <br />
<br />
编辑“hosts.allow”文件(vi /etc/hosts.allow)并加入这一行: <br />
<br />
sshd: 192.168.1.4 win.openarch.com <br />
<br />
这一行表示IP地址为“192.168.1.4”,主机名为“win.openarch.com”的计算机允许用ssh访问服务器。 <br />
<br />
下面这些“daemon”字符串(用于TCP-WRAPPERS)被sshd1使用: <br />
<br />
sshdfwd-X11 (允许/禁止X11转发). <br />
sshdfwd- (TCP转发). <br />
sshdfwd- (port-name在/etc/services中定义。用于TCP转发). <br />
<br />
注意:如果准备使用ssh,一定要用在所有的服务器上。如果十台安全的服务器和一台不安全的服务器配在一起,也谈不上什么安全性。 <br />
<br />
如果想查找详细的资料可以用man命令查帮助页,读取相关信息: <br />
<br />
$ man ssh (1) - OpenSSH secure shell client (remote login program) <br />
$ man ssh [slogin] (1) - OpenSSH secure shell client (remote login program) <br />
$ man ssh-add (1) - adds identities for the authentication agent <br />
$ man ssh-agent (1) - authentication agent <br />
$ man ssh-keygen (1) - authentication key generation <br />
$ man sshd (8) - secure shell daemon <br />
<br />
SSH1每用户配置 <br />
<br />
第一步 <br />
为本地服务器创建私有和公用密匙,执行下面的命令: <br />
<br />
[root@deep]# su username <br />
[username@deep]$ ssh-keygen1 <br />
<br />
举个例子,显示出来的结果可能是: <br />
<br />
Initializing random number generator... <br />
Generating p: ............................++ (distance 430) <br />
Generating q: ......................++ (distance 456) <br />
Computing the keys... <br />
Testing the keys... <br />
Key generation complete. <br />
Enter file in which to save the key (/home/username/.ssh/identity): 【按下回车键】 <br />
Enter passphrase: <br />
Enter the same passphrase again: <br />
Your identification has been saved in /home/username/.ssh/identity. <br />
Your public key is: <br />
1024 37 <br />
14937757511251955533691120318477293862290049394715136511145806108870001764378494676831 <br />
29757784315853227236120610062314604405364871843677484233240919418480988907860997175244 <br />
46977589647127757030728779973708569993017043141563536333068888944038178461608592483844 <br />
590202154102756903055846534063365635584899765402181 <a href="mailto:username@deep.openarch.com">username@deep.openarch.com</a> <br />
Your public key has been saved in /home/username/.ssh/identity.pub <br />
<br />
注意:如果有多个帐号需要为每个帐号创建一个密匙。 <br />
<br />
你可能要为下面的服务器创建密匙: <br />
<br />
Mail服务器 <br />
<br />
Web服务器 <br />
<br />
网关服务器 <br />
<br />
这允许对这些服务器进行有限的访问,例如,不允许用Mail服务器的帐号访问Web服务器或网关服务器。这样可以增加整体的安全性,即使因为某种原因有一个密匙被泄密了,也不会影响到其它的服务器。 <br />
<br />
第二步 <br />
<br />
把本机的公用密匙(identity.pub)拷贝到远程主机的“/home/username/.ssh”目录下,例如,使用“authorized_keys”这个名字。 <br />
<br />
注意:拷贝文件的一个方法使用ftp命令,另一个办法是把公用密匙用email(包含“~/.ssh/identity.pub”文件的内容)发给系统管理员。 <br />
<br />
改变pass-phrase <br />
<br />
用加上“-p”参数的“ssh-keygen”命令,在任何时候都可以改变pass-phrase。用下面的命令,改变pass-phrase: <br />
<br />
[root@deep]# su username <br />
[username@deep]$ ssh-keygen1 –p <br />
<br />
Enter file key is in (/home/username/.ssh/identity): [按下回车键] <br />
Enter old passphrase: <br />
Key has comment <a href="mailto:username@deep.openarch.com">username@deep.openarch.com</a> <br />

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -