默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh IP地址
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh 用户名@IP地址 -p 端口号
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。在内网通过域名绑定服务器,外网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。 外网访问时,使用动态解析域名。在管理员模式#下运行apt-get install openssh-server安装完成后如下显示检查ssh服务开启状态ps -s grep ssh坑爹的发现居然SSHD(SSH-SERVER)服务没有起来通过以下命令启动ssh服务service ssh start/etc/initd/ssh start又一次坑爹的发现SSHD(SSH-SERVER)服务依然没有起来服务开启判断方法在ubuntu服务器上允许ssh localhost如果出现以下情况表示22端口没有正常开启再一次安装openssh-server系统会检查版本以及更新包的情况修改SSH_CONFIG文件vi /etc/ssh/ssh_config最终必杀计:重启(可以通过图形或者命令行界面输入reboot进行重启)果然重启后就都正常了。外网telnet IP 22端口测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)