2014-08-17 11:10:36 txl16211 阅读数 2737
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9240 人正在学习 去看看 肖海鹏

SSH的巨大价值体现在能够配置为代理服务器上。不像在Windows下每次还需要手动登录设置,Linux有很好的工具链能够实现自动设置SSH代理,就是expect和ssh的联合使用,再加上proxychains,任何程序都可以享用代理了,在此我简单介绍一下。

首先要安装expect和openssh,如果没有,Ubuntu下输入apt-get install expect openssh-client即可安装。接下来需要写一段脚本:

#!/usr/bin/expect
set timeout 60
spawn /usr/bin/ssh -D 本地端口 -g 用户名@服务器
expect {
"password:" {
send "密码\r"
}
}
interact {
timeout 60 { send " "}
}

把上面的中文替换成对应内容,保存为一个脚本文件,例如sshproxy.sh,然后给它执行权限,chmod +x sshproxy.sh。在终端下运行./sshproxy.sh,就会发现自动登录到了服务器上,而且在本地建立了一个socks5代理。而且使用这段脚本还不用担心会被踢,因为每60秒都要发送一个空格表示还在活动。如果把sshproxy.sh放到自动启动,那么以后每次启动都可以自动建立代理了。

这种方法建立的代理是socks5代理,在浏览器中很容易配置使用,但如果其他程序也想用它,而没有代理功能,该怎么办呢?在Windows下面的确不好办(需要各种付费的、不稳定的代理转换工具),而在Linux下一切很简单,只需要一个名叫proxychains的工具。Ubuntu安装方法为apt-get install proxychains。安装完以后要设置/etc/proxychains.conf文件,删除[ProxyList]后面的内容,然后添加

socks5  127.0.0.1 端口

把“端口”替换为SSH代理设置的端口。然后在想要运行的程序前加上proxychains ,即可使用代理。例如输入proxychains wget http://www.youtube.com -r,即可给wget设置SSH代理去下载。

正如其名,实际上proxychains是个代理链,我们可以设置多个代理,实现多级跳板连接。用在SSH代理上实在是大才小用了。

2016-08-02 21:57:54 chenhualeguan 阅读数 13858
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9240 人正在学习 去看看 肖海鹏

Linux配置SSH服务以便实现远程连接

配置方法:

  一、查询\安装SSH服务

  1.登陆linux系统,打开终端命令。输入 rpm -qa |grep ssh 查找当前系统是否已经安装


看到这个表示已装

2.如果没有安装SSH软件包,可以通过yum 或rpm安装包进行安装(具体就不截图了)

yum install ssh


二、启动SSH服务2

       安装好了之后,就开启ssh服务。Ssh服务一般叫做 SSHD

  命令行输入 service sshd start 可以启动


或者使用 /etc/init.d/sshd start


三、配置\查看SSHD端口3

    查看或编辑SSH服务配置文件,如 vi /etc/ssh/sshd.config

    1、如果要修改端口,把 port 后面默认的22端口改成别的端口即可(注意前面的#号要去掉)



2, 在/etc/ssh/sshd_config文件中,将PermitRootLogin no|yes设置为允许root用户远程登录,否则虽然能连接上,但是却不能登录,如图:


四、远程连接SSH

  如果需要远程连接SSH,需要把22端口在防火墙上开放。

。关闭防火墙,或者设置22端口例外


五、设置虚拟机ip与本机同一个网段(这步可以放到是先做,再设置一,二,三,四)

1、先到本机查看本ip地址信息



2、到虚拟机/ 编辑/虚拟网络编辑器,找到VMnet8 NAT模式,把子网ip设置成与本机同网段的 ip



3、然后点击DHCP设置

设置虚拟机ip网段,这一步也可以不设置,然后确定,再确定



4、把虚拟机网络适配器改成NAT如图

六、查看虚拟机ip地址

ifconfig -a  :这是查看所有ip地址

如果出为的eth0信息中打不到ip地址

inet addr:。。。。Bcast:。。。。。Mask:255.255.254.0--------这一行没有 也就是看不到IP地址。

方法:

先用dhclient eth0获取IP地址,

然后运行ifconfig eth0 

 

如果是静态IP 可能获取到的IP不是/etc/sysconfig/network-scripts/ifcfg-eth0 配置的IP 

用dhclient eth0 获得IP之后。reboot一下 应该就OK 了。。

至少  我是这么解决的。。。

然后: # ifconfig eth0



七、到本机cmd,然后ping ip,可以连接了


七、然后用shh2工具连接就好了,这个就不说了


参考:http://www.soso.io/article/92387.html

http://brucegaochina.iteye.com/blog/1448729

http://blog.csdn.net/johnstrive/article/details/5625121


2013-04-23 17:10:56 zhongyhc 阅读数 657
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9240 人正在学习 去看看 肖海鹏

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”把二进制文件和配置文件安装在合适的目录下。

 

3.2     客户端配置

配置“/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是一个好的选择。查看sshdman帮助页,已获取更多的信息。 

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. 


2016-09-06 21:27:10 wendingzhulu 阅读数 543
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9240 人正在学习 去看看 肖海鹏

快速配置Linux下SSH无密码登录

@(Linux配置)

使用ssh免密登录在分布式集群部署中基本上都需要,比如Hadoop集群的部署。本文简述如何快速实现多台机器ssh免密登录。

###准备工作
配速配置前先做防火墙和selinux的关闭
针对Centos的防火墙,
centos 7:
systemctl stop firewalld.service #停止 systemctl disable firewalld.service #禁用
之前的版本:
service iptables stop #停止 chkconfig iptables off #禁用

selinux的关闭
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled

然后reboot重启系统。
以上操作可以通过XShell的批量会话操作一次性完成。

###SSH无密码登录配置
ssh配置其实不难,难的是多台的情况下,如果没有规律,就很容易漏掉。我采用一个跳板机的方式,同样使用XShell的批量会话操作。先使用相同的账户登录,如root。然后执行ssh-keygen -t rsa生成公钥和私钥对,放在路径~/.ssh路径下。批量拷贝id_rsa.pub到某台机器的tmp路径下,然后使用cat id_rsa.pub.** >> authorized_keys。这样就生成了包含所有公钥的authorized_keys文件。然后再一一拷贝到所有机器的.ssh路径下。

批量将.ssh路径和authorized_keys设置文件权限,依次是
chmod 700 .ssh chmod 600 authorized_keys

OK,就此配置结束

###SSH非22默认端口的登录测试
ssh hostname | IP [-p port

2014-07-11 10:49:08 luoping544 阅读数 112
  • SSH面试和笔试指导

    由于SSH部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握SSH的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!

    9240 人正在学习 去看看 肖海鹏

1、查看是否安装ssh 

rpm -qa |grep ssh

2、如果没有安装

yun install ssh

3、启动ssh

service sshd start

4、关闭防火墙,或者添加22端口例外

service iptables stop

5、windows 安装ssh客户端

putty

使用putty连接ssh

Linux配置SSH?

阅读数 1101

linux配置ssh

阅读数 780

没有更多推荐了,返回首页