linux服务器直接ssh连接不上但是免密能登
服务器正常,PING也能PING通。但是就是SSH连不上啊,出现这种问题,最大的可能就是防火墙没有关闭。解决方法:
1、开启SSH以root用户登录Linux,打开终端,运行:/etc/initd/sshdrestrat。
2、关闭防火墙。
3、在终端运行setup。
4、选择firewall回车
5、按tab键切换到disablede项,然后按空格键选择,然后再按tab键切换到ok,按空格件选择。
6、按tab键切换。
首先进入/etc目录下,/etc目录存放的是一些配置文件,比如passwd等配置文件,要想使用ssh远程登陆,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim编辑,在命令行模式下输入 vim /etc/ssh/sshd_config,进入之后,按“i”进入编辑状态,在其文件里找到并修改为:PasswordAuthentication yes , PermitRootLogin yes两行即可,
修改之后,按“esc”退出,并按“:wq”保存并退出,或直接按“:x”直接保存退出,(注意:此处的x为小写x,大写X是将文件内容加密,使用时细心注意),
退出编辑模式之后,回到命令模式,输入 sevice ssh start/stop/restart/status,启动/停止/重启/状态,选择start启动ssh服务。
如果上面开启SSH服务的命令不能用,可以使用命令:sudo service sshd start 试试,检查是否开启SSH服务使用命令:ps -e | grep sshd
此时可以查看ssh状态是否为运行状态,运行状态即可使用ssh远程登陆。
使用“ifconfig”命令查询ip地址
使用ssh登陆时,输入主机(linux的ip地址),账号,密码登陆!
如果需要远程连接SSH,需要把22端口在防火墙上开放,关闭防火墙,或者设置22端口例外 /etc/initd/iptables stop
怎么通过ssh登陆可参看下一篇“通过ssh实现远程登陆服务器!”
大致步骤为:
SSH 服务配置文件位置
/etc/ssh/sshd_config
# 修改配置
PasswordAuthentication yes
PermitRootLogin yes
# 启动SSH 服务
sevice ssh start/stop/status
安装SSH:yum install ssh
启动SSH: service sshd start
设置开机运行: chkconfig sshd on
通过ssh远程登录linux系统的方法:
1、在需要远程访问的计算机的“新立得”里面安装openssh-server。这台计算机是远程计算机,你当前使用的计算机是本地计算机。如果使用Ubuntu或者其他Linux版本,已经安装了连接到远程计算机的软件。
2、远程计算机软件安装完毕。在本地计算机的终端里面输入:
ssh username@address
其中username是远程计算机的账户名称,address是远程计算机的IP地址或者域名。
平日你希望以keir登录19216812,可以使用:
sssh keir@192168113
如果不知道远程计算机的IP地址,可以在远程计算机上面点击网络监视器,选择“连接信息”,查看IP地址信息。
3、首次连接,可能提示“the authenticity of the host can’t be established”。没有关系,回答yes进行连接,输入密码即可。
4、如果你登录一个标准的Shell会话,命令行提示符是“用户名@远程计算机的名称”。
如果希望通过SSH运行图形程序,可以使用:
ssh -X username@address
连接以后,输入程序的名称即可。譬如,启动gedit,输入gedit即可。另外注意,尽管程序出现在你的计算机上面,但是它依然是运行在远程计算机上面。如果启动OpenOffice或者其他复杂的图形程序,可能有一段时间的延迟。
另外一个SSH连接的用途是传输文件。sftp命令可以实现这个功能。用sftp连接到远程计算机,就可以像登录了一个ftp服务器一样。另外还可以在Nautilus里面使用sftp,在Nautilus的地址栏里面输入:sftp://address,系统会提示用户名和密码。连接完成,就可以在Nautilus里面拷贝/删除文件了。
在linux命令中登陆ssh服务的命令是ssh ip,例如:ssh 19218612。
输入账户和密码后,您可以登录Linux服务器。
ssh登录Linux服务器的默认端口为22,即ssh 19218612 22,通常可以省略22。 如果设置了其他端口,则不能省略它们。
扩展资料:
1、SSH连接原理
ssh服务是一个守护进程(demon)。系统后台监视客户端的连接。ssh服务端的进程名为sshd,它负责实时监视客户端的请求(IP 22端口),包括交换公共密钥和其他信息。
ssh服务器由两部分组成:openssh(提供ssh服务) 、openssl(提供加密的程序)。
ssh客户端可以用XSHELL,Securert,Mobaxterm和其他工具连接。
2、SSH的工作机制
服务器启动时,会生成一个密钥(768位公共密钥),本地ssh客户端向ssh服务器发送连接请求,然后服务器检查连接点客户端发送的数据和IP地址。
确认有效性后,将密钥(768位)发送给客户端。此时,客户端将本地私有密钥(256位)和服务器的公共密钥(768位)结合成密钥对key(1024位),然后将其发送回服务器以建立连接,建立连接通过key-pair数据传输。
实现此的技术原理:
在内网通过域名绑定服务器,外网SSH访问连接时,通过域名的访问,实现访问内网LINUX。
具体的实现过程如下:
明确LINUX服务器内网访问地址端口,确保LINUX服务器正常开启SSH服务,在内网SSH可以正常访问连接。如图所示:
被访问端的Linux主机上使用nat123动态域名解析Linux版本。
在被访问端的Linux服务器安装nat123客户端,并登录使用它。
登录网页,左侧用户中心,添加域名解析,选择动态域名解析并添加确认。
选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。如不理解负载均衡,不要勾选多点登录。
新添加动态解析后,等待几分钟生效。解析生效后,动态解析域名与本地公网IP是保持对应的。可以通过ping下域名核实,返回结果IP地址为本地公网IP地址时,表示动态解析生效正常。
路由器端口映射,路由映射SSH访问22端口。
因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网LINUX服务器访问22端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的LINUX服务器SSH服务端口是默认的22,我内网对应LINUX服务器主机的内网IP地址是192168129。
外网访问时,使用动态解析域名。
在外网使用SSH访问内网LINUX服务器时,使用动态解析域名进行连接访问。域名是不变的,可以上网即可访问,再也不担心动态公网IP变化的问题。
0条评论