视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
SSH服务器安装配置
2025-10-02 19:15:26 责编:小OO
文档
1、安装openssh

sudo aptitude install openssh-server

以上命令若无法安装,需检查linux源配置文件:/etc/apt/sources.list

将开源服务器衔接地址加载到sources.list文件中。

 (备用方案:下载源码zlib-1.2.3.tar.gz、openssh-5.6p1.tar.gz,解压到linux服务器根文件夹下,执行命令:(1)make (2)make install)

2、启动ssh-server

执行命令:/etc/init.d/ssh restart

3、确认ssh是否已启动

执行命令:netstat –tlp

4、在window平台上安装xshell或SecureCRT软件,配置一下就可以通过SSH方式连接上linux服务器了。

/*******************以下为网上下载的方法,比较繁琐,无法安装********************/

3. linux ssh的配置

3.1 linux ssh的安装

首先检查Linux是否安装ssh

Rpm –p sshd

如果安装好了将显示 SSH的版本信息,否则请下载安装包进行安装。

下载:openssh-1.2.3.tar.gz。

1)编译OpenSSH需要zlib-devel软件包,这个软件包包括头文件和函数库。编译使用zlib的压缩和解压函数的程序,就要事先安装这个软件包。

用下面的命令验证一下在系统中是否已经安装了zlib-devel软件包:  

rpm -qi zlib-devel  

用下面命令在系统中安装zlib-devel软件包:  

rpm -Uvh zlib-devel-version.i386.rpm  

2)编译和安装  

把软件包(tar.gz)解压:  

tar xzpf openssh-version.tar.gz 

现在,编译和安装OpenSSH:  

make  

make install  

“make”命令把源文件编译成可执行的二进制文件,“make install”把二进制文件和配置文件安装在合适的目录下。

客户端配置

配置“/etc/ssh/ssh_config”文件  

“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数:  

# Site-wide defaults for various options  

Host *  

ForwardAgent no  

ForwardX11 no  

RhostsAuthentication no  

RhostsRSAAuthentication no  

RSAAuthentication yes  

PasswordAuthentication yes  

FallBackToRsh no  

UseRsh no  

BatchMode no  

CheckHostIP yes  

StrictHostKeyChecking no  

IdentityFile ~/.ssh/identity  

Port 22  

Cipher blowfish  

EscapeChar ~  

下面逐行说明上面的选项设置:  

Host *  

选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。  

ForwardAgent no  

“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。  

ForwardX11 no  

“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。  

RhostsAuthentication no  

“RhostsAuthentication”设置是否使用基于rhosts的安全验证。  

RhostsRSAAuthentication no  

“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。  

RSAAuthentication yes  

“RSAAuthentication”设置是否使用RSA算法进行安全验证。  

PasswordAuthentication yes  

“PasswordAuthentication”设置是否使用口令验证。  

FallBackToRsh no  

“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。  

UseRsh no  

“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。  

BatchMode no  

“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。  

CheckHostIP yes  

“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。  

StrictHostKeyChecking no  

“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。  

IdentityFile ~/.ssh/identity  

“IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。  

Port 22  

“Port”设置连接到远程主机的端口。  

Cipher blowfish  

“Cipher”设置加密用的密码。  

 EscapeChar ~  

“EscapeChar”设置escape字符。

3.3服务端配置

配置“/etc/ssh/sshd_config”文件  

“/etc/ssh/sshd_config”是OpenSSH的配置文件,允许设置选项改变这个daemon的运行。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。编辑“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改变下面的参数:  

# This is ssh server systemwide configuration file.  

Port 22  

ListenAddress 192.168.2.1  

HostKey /etc/ssh/ssh_host_key  

ServerKeyBits 1024  

LoginGraceTime 600  

KeyRegenerationInterval 3600  

PermitRootLogin no  

IgnoreRhosts yes  

IgnoreUserKnownHosts yes  

StrictModes yes  

X11Forwarding no  

PrintMotd yes  

SyslogFacility AUTH  

LogLevel INFO  

RhostsAuthentication no  

RhostsRSAAuthentication no  

RSAAuthentication yes  

PasswordAuthentication yes  

PermitEmptyPasswords no  

AllowUsers admin  

下面逐行说明上面的选项设置:  

Port 22  

“Port”设置sshd监听的端口号。  

ListenAddress 192.168.2.1  

“ListenAddress”设置sshd服务器绑定的IP地址。  

HostKey /etc/ssh/ssh_host_key  

“HostKey”设置包含计算机私人密匙的文件。  

ServerKeyBits 1024  

“ServerKeyBits”定义服务器密匙的位数。  

LoginGraceTime 600  

“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。  

KeyRegenerationInterval 3600  

“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。  

PermitRootLogin no  

“PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。  

IgnoreRhosts yes  

“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。  

IgnoreUserKnownHosts yes  

“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”  

StrictModes yes  

“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。  

X11Forwarding no  

“X11Forwarding”设置是否允许X11转发。  

PrintMotd yes  

“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。  

SyslogFacility AUTH  

“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。  

LogLevel INFO  

“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。  

RhostsAuthentication no  

“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。  

RhostsRSAAuthentication no  

“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。  

RSAAuthentication yes  

“RSAAuthentication”设置是否允许只有RSA安全验证。  

PasswordAuthentication yes  

“PasswordAuthentication”设置是否允许口令验证。  

PermitEmptyPasswords no  

“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。  

AllowUsers admin  

“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是DNS名或IP地址。

  

配置OpenSSH使其使用TCP-Wrappers inetd超级服务器  

TCP-WRAPPERS用来启动和停止sshd服务。当inetd运行的时候,它会从配置文件(默认为“/etc/inetd.conf”)中读入配置信息。在配置文件中每一行的不同项是用TAB或空格分开。  

第一步  

编辑“inetd.conf”文件(vi /etc/inetd.conf)并加入这一行:  

ssh stream tcp nowait root /usr/sbin/tcpd sshd –i  

注意:“-i”参数很重要,它说明sshd是被inetd运行的。在加入这一行后,通过发送一个SIGHUP信号(killall –HUP inetd)来更新“inetd.conf”文件。  

killall -HUP inetd  

第二步  

编辑“hosts.allow”文件(vi /etc/hosts.allow)并加入这一行:  

sshd: 192.168.1.4 win.openarch.com  

这一行表示IP地址为“192.168.1.4”,主机名为“win.openarch.com”的计算机允许用ssh访问服务器。  

下面这些“daemon”字符串(用于TCP-WRAPPERS)被sshd1使用:  

sshdfwd-X11 (允许/禁止X11转发).  

sshdfwd- (TCP转发).  

sshdfwd- (port-name在/etc/services中定义。用于TCP转发).  

注意:如果准备使用ssh,一定要用在所有的服务器上。如果十台安全的服务器和一台不安全的服务器配在一起,也谈不上什么安全性。  

更多的资料  

如果想查找详细的资料可以用man命令查帮助页,读取相关信息:  

$ man ssh (1) - OpenSSH secure shell client (remote login program)  

$ man ssh [slogin] (1) - OpenSSH secure shell client (remote login program)  

$ man ssh-add (1) - adds identities for the authentication agent  

$ man ssh-agent (1) - authentication agent  

$ man ssh-keygen (1) - authentication key generation  

$ man sshd (8) - secure shell daemon  

3.4 SSH密匙设定  

第一步  

为本地服务器创建私有和公用密匙,执行下面的命令:  

[root@deep]# su username  

[username@deep]$ ssh-keygen1  

Your identification has been saved in /home/username/.ssh/identity.  

Your public key has been saved in /home/username/.ssh/identity.pub  

第二步  

把本机的公用密匙(identity.pub)拷贝到远程主机的“/home/username/.ssh”目录下,例如,使用“authorized_keys”这个名字。  

改变pass-phrase  

用加上“-p”参数的“ssh-keygen”命令,在任何时候都可以改变pass-phrase。用下面的命令,改变pass-phrase:  

[root@deep]# su username  

[username@deep]$ ssh-keygen1 –p  

Enter file key is in (/home/username/.ssh/identity): [按下回车键]  

Enter old passphrase:  

Key has comment username@deep.openarch.com  

Enter new passphrase:  

Enter the same passphrase again:  

Your identification has been saved with the new passphrase.  

/*******************?????????????********************/下载本文

显示全文
专题