如何使用SSH登录远程服务器
默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh IP地址1
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh 用户名@IP地址 -p 端口号1
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen1
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径1
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。
linux服务器用哪个版本?
用作服务器强调稳定,而不是最新的功能,所以选择比较多的是以此为重点考虑的Linux发行版。
选择比较多的是CentOS、Ubuntu服务器版、Debian、OracleLinux、OpenSuse等。
linux怎么本地登录服务器?
答:linux可用下列方法本地登录服务器:
1你可以给服务器插上显示器和键盘,直接在现场本地登录服务器。
2也可以在服务器端开启telnet服务,通过远程用telnet来本地登录服务器。
3现在更常用的方法是在服务器端打开ssh服务,从远程使用linux终端或者在WINDOWS下面使用putty这个免费软件来登录你的服务器。
仅供你参考。
linux可以当服务器吗?
linux可以当服务器。
早期的linux操作系统,因为图形界面技术还不成熟,操作不方便,所以主要是用来做服务器用。而且还因为linux操作系统是开源免费的操作系统,拥有成本特别低,所以也被大量的互联网公司用做服务器用。
给linux操作系统装上图形界面,也可以当桌面操作系统来使用。
一步一步教你架构linux服务器?
Linux服务器的部署,配置,搭建步骤:
1准备:
11jdk18:jdk-8u11-linux-x64targz。
tomcat:apache-tomcat-8039-windows-x64zip。
12先安装个18的jdk,注意是linuxforjdk,要不然可不行。
然后新建一个java文件夹在根目录的(这里的根目录要通过cd再接/usr/进入,而不是home/xxx,可以通过pwd查看当前所在路径)/usr/下,用来放置解压后的jdk文件,这里因为后缀名是targz所以直接用tar-xf命令解压。
2配置:
21配置JDK的环境变量:到/etc/文件夹找到profile文件,通过文件编辑命令viprofile在文件的末尾加上变量参数:
JAVA_HOME=/usr/java/jdk180_11
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=:$JAVA_HOME/jre/lib/rtjar:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
22把下好的tomcat解压到自定义的一个文件夹里了,我的是home/pengyy/tomcat/下,到config文件里修改一下端口号,vi命令编辑serverxml,里面后来启动的时候8005那个端口有冲突,我直接改了8088,然后又把http请求的端口改成了8001,OK,tomcat配置完成,没什么过多的步骤。
23将一个完成的web项目打成war包,放在tomcat下的webapps里解压。
24进入到tomcat下的bin目录,输入命令启动:/startsh,终止命令/shutdownsh。
可以查看日志,去tomcat的logs目录底下查看catalinaout日志文件,可以通过cat查看文件命令,也可以tail-f(倒数多少行可以为数字)catalinaout来查看。
如果端口号被占用,可以用命令lsof-i:端口号来查看端口号被占用的进程号,或者停止该进程,或者修改tomcat的端口号都可以。
而当你不确定是否终止了哪个项目的时候,可以通过输入命令ps-ef|grepjava来查看一下是否有在运行的项目,通过kill-9进程号就可以干掉哪个正在运行的项目了。
最后通过ifconfig或者ip命令获取虚拟机的Ip地址,在主机上通过ip+端口号+项目根路径的方式访问即可。
戴尔服务器安装linux系统步骤?
1
开机启动dell服务器,按F11选择BootManager。
2
选择one-shotUEFIbootmenu,一次性UEFI启动菜单。
3
选择DiskconnectedtofrontUSB,从U盘启动。
4
出现linux安装界面,进入linux系统安装步骤。
5可能会报错i8042:nocontrollerfound。
6修改之后,直接按Ctrl+X,进入安装界面;如果仍出现上述错误,则说明U盘路径错误,重新确定U盘路径
在此安装界面按e进入编辑模式
在中、大型的数据中心中,常常需要部署”管理站点”软件(Management Station)来实现统一的监控与管理。
在传统服务器上,相应的需要在操作系统中安装”被管理节点”软件(Managed Node,也即代理-Agent)。
而在第12代服务器中,iDRAC 7本身就可以作为一个”被管理节点”,替代Agent绝大部分的功能。
因此可以不需要在OS上安装Agent,实现Agent Free的管理,简化了OS的复杂程度和部署时间。
12:通过IDRAC卡安装Centos 7操作系统过程:
121:安装java环境,必须要安装,推荐安装当前最新版本,下载地址: 下载java点我,点我啊!
安装过程下一步下一步,过程略!!!
122:通过浏览器访问远程管理卡的IP地址,默认是1921680120:
123:提示更改密码,可以设置新密码或本次不更改密码:
124:跳过更改密码步骤:
125:点击启动:
125:下载一个文件:
126:更改使用java打开:
127:使用java打开:
128:点击继续:
129:点击运行:
1210:点击运行:
1211:连接成功之后的界面:
1212:连接到虚拟介质,类似于给服务器做一个远程的虚拟光驱:
1213:关联到本地iso镜像:
1214:选择iso并关联:
1215:验证映射成功:
1216:更改下次引导方式:
1217:确认更改下次引导方式:
1218:确认更改下次因此方式为虚拟ISO:
1219:热重启服务器:
1220:
1221:传递内存参数给网卡命名:
1222:启动安装过程:
1223:系统分区:
1224:时区即其他安装选择:
1225:开始最小化安装并设置用户密码:
1226:安装完成之后重启系统:
1227:进入登录界面:
系统安装完成!!!
目前,远程连接服务器的类型有以下几种:
① 文字接口的明文传输:Telnet、RSH为主,很少用到。
② 文字接口的加密传输:以SSH为主,已经取代了上面的明文传输方式。
③ 图形接口:XDMCP、VNC、XRDP等较为常见。
这篇文章只为实战,不为普及概念性知识。所以我只讲解在工作中最常用到的技术SSH。关于SFTP技术和VNC技术,请查阅我的其他博客。
好,先来看一下SSH的相关技术:
SSH,英文全程是Secure Shell Protocol(安全的壳程序协议)。SSH是现在公司基本上都在使用的一种文字接口的加密传输技术,采用的是非对称秘钥系统。
对于SSH的原理,你们可以参考我的另外一篇博客,我把链接贴在这里:
SSH原理
⑴来吧,我们先来查看一下sshd这个服务(这就是SSH的远程连接必须开启的服务,属于系统自带),注意,一般这个sshd服务是默认自动开启的。
如果想要重启怎么办呢?
好吧,请看:
上面两种重启动的方法都是可以滴!
⑵直接远程登录主机的命令:
ssh -f -o 参数 -p 非标准端口 账号@IP 命令
其中:
-f : 需要配合后面的命令,不登录远程主机直接发送一个命令过去
-o 参数 : 主要的参数有:
ConnectTimeout=秒数 : 连接等待的秒数,减少等待的时间。
StrictHostKeyChecking=yes|no|ask:默认是ask,若要让public key主动加入到known_hosts, 则可以设置为no即可。
-p : 如果sshd服务启动在非标准端口下,需使用此参数。
举例说明吧:
① 直接登录到对方主机:
如果是以root用户登录到对方主机,有如下两种登录方式:
注意:如果是普通用户登录,必须使用第二种加@的方式。
② 实现登录对方主机,执行命令后就离开的方式。例如:从远程主机上执行cat /etc/passwd命令把文件显示在本地主机上。
③ 不登录对方主机,让对方主机自己运行该命令,你立刻回到本地机器继续工作:
④ 删除known_hosts后,重新使用root连接到本机,会自动加上公钥记录
你一定会说,大骗子玩漏了吧?怎么没有自动加上公钥记录呢?怎么记录信息提示手机选择yes/no了呢?别着急,我们的“-o”参数要横空出世了!有了-o,再也不用选择yes|no了,而是自动被选择了yes而加入到~/ssh/known_hosts中。
看到了,这次没有提示让选择yes|no吧!
⑤ SSHD服务器详细配置
Centos默认的SSHD服务其实已经算是很安全了,这里注意Centos 5X之后默认SSH协议版本都是V2也就是上图的Protocol 2,默认端口是 22,注意这些还不够,如果是真正工作中的服务器,建议取消root的登录权限:
把红框中的yes改为no就可以取消root用户的登录权限了。
下面来介绍一个很有用的技术,制作不用密码可立即登录的SSH用户。有人会说制作这个是用来干嘛的?你想一想,如果想要利用crontab来定时执行备份或者拷贝的任务,因为每次SSH连接都要输入对方主机密码,这是在crontab中无法执行的,那么怎么办?只有不需要输入密码才可以操作。
方法如下:
① 客户端建立两把钥匙
我们在客户端创建一个用户user1操作,利用user1来远程服务器端的user2用户。下面我们以1921681118为客户端,以1921681121为服务端。
首先在客户端建立两把秘钥
命令如下:
需要注意:
⑴ ~/ssh目录的权限必须是700
⑵ id_rsa(私钥文件)的权限必须是-rw——-,且属主必须是当前登录用户,否则在未来秘钥比对的过程中,可能会被判断为危险而无法成功的以公私钥成对的机制来实现连接。
以上两点一般情况下默认都是正确的。
② 将公钥文件数据上传至服务器端
③ 将公钥文件放置到服务器端的正确目录中,并保证文件名正确
一定要把公钥文件内容附加到authorized_keys这个文件内,操作用户为服务器端用户
注意:切记authorized_keys这个文件的权限必须是644
1、首先运行OpenSSH的安装程序 点击窗口下一步 。
2、如果不希望在你的桌面运行ssh 服务,去掉server前面的勾。
3、接着选择安装位置。
4、然后完成按钮。
5、打开一个命令提示符 输入ssh 连接命令。
6、如果需要确认连接输入yes。
7、这样就可以开ssh服务了。
1 ssh简介以及本例的应用场景
① ssh的简介
SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
② 本例的应用场景
用户在client(Linux)上通过ssh远程执行server(Windows)上的命令,比如c:\testbat
注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。
2 ssh服务器的安装(Windows)
ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。
① 首先从官方站点下载软件并安装(http://wwwfreesshdcom/)
② 安装完成后进入配置界面(Server Status),确认SSH server正在运行状态
③ 进入Users界面,设定一个访问的用户账户(比如xut)
这里我们建立一个叫xut的用户,认证有3种方式可以选择。从以后通过ssh运行命令的方便(无需输入密码)考虑,我们选择Public key认证方式。选择Password方式的话,每次访问需要输入密码,此种方式较为繁琐而且安全性不高。然后开放其Shell权限。
④ 进入认证界面,确认Public key认证方式属于激活状态(选择Allowed或Required)
此时ssh服务器端的基本设置已经OK,可进一步进行更加详细的设置(比如访问限定等),此处不再介绍。
注意:服务器端如果有防护墙时应该开发TCP 22号端口最为ssh连接使用。
3 ssh客户端的设置(Linux)
由于我们的客户端采用的是Linux,所以不用安装客户端软件,系统自带的就有。
我们需要在Linux上创建一个共有和私有的密钥对,私有密钥放到客户端(Linux)上,共有密钥放到服务器端(Windows)上。在Linux上通过ssh-keygen命令来创建。
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair
Enter file in which to save the key (/root/ssh/id_rsa): [直接回车]
Enter passphrase (empty for no passphrase): [直接回车]
Enter same passphrase again: [直接回车]
Your identification has been saved in /root/ssh/id_rsa
Your public key has been saved in /root/ssh/id_rsapub
The key fingerprint is:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53
其中,/root/ssh/id_rsa为私有密钥,/root/ssh/id_rsapub为共有的密钥。
此时,需要把共有密钥放到服务器端(Windows)进行保存,以便于服务器端进行安全检查。
我们通过认证界面找到存放共有密钥的地址(Public key folder)。
如上图所示,然后在c:\Program Files\freeSSHd目录下创建以登录用户名为名字的文本文件,此处举例为xut文件。并将/root/ssh/id_rsapub文件中的内容拷贝到c:\Program Files\freeSSHd\xut文件中。
至此,客户端和服务器端的密钥设置已经完成,可以通过如下命令进行远程的命令执行。
ssh xut@17228xxxxx "c:\testbat"
这条命令将执行服务器端的C盘下的testbat文件,并把结果返回,整个操作不需输入密码。
4 ssh客户端的设置(Windows)
由于Windows不附带ssh的客户端和服务器端,我们这里找一个免费的客户端软件PuTTY。
PuttY主页:http://wwwchiarkgreenendorguk/~sgtatham/putty/
各种客户端的比较:http://enwikipediaorg/wiki/Comparison_of_SSH_clients
在Putty主页,我们下载puttyzip(含除了PuTTYtel以外的所有文件),然后解压会发现一个叫plinkexe的文件,这就是我们的ssh客户端命令行软件。
我们首先要成一个共有和私有的密钥对,使用puttyzip中附带的PUTTYGENexe生成。
启动PUTTYGENexe后可以见到下图界面,点击[Generate]即可生成所需密钥对。
注意:由于是采用随机算法生成,需要不停地在对话框上移动鼠标进度条才会增加,否则将保持不变。
鼠标在这里不停移动
密钥生成完毕后,可以把私有密钥进行保存,为了登录简单起见不对私钥进行加密,提示没有passphrase选择忽略即可。假设我们这里把私钥保存为pri_keyppk。
我们把公钥放在freeSSHd端(ssh服务器端)进行保存,具体保存方法参见ssh客户端的设置(Linux)。
在Windows客户端,执行如下命令进行ssh连接,并不需要输入密码即可通过密钥进行自动认证。
plink -i pri_keyppk xut@17228xxxxx c:\testbat
(此时将执行服务器端的c:\testbat脚本。)
注:第一次连接时将出现“The server's host key is not cached in the registry…
1、如何查看linux操作系统版本
打开linux终端命令行,输入如下命令即可。lsb_release-a。采用的是实体机服务器,操作系统为redhat67,详细请看下图。
2、如何查看SSH服务是否已经安装
在终端命令行执行。rpm-qa|grep\"ssh\"。执行结果请看下图,说明已经安装;其实在安装linux操作系统的时候默认就会安装上的。
3、如果SSH服务没有安装怎么办
找到操作系统镜像文件解压,找到ssh相关的包,上传到服务器。然后执行如下安装命令安装即可。rpm-ivhrpm包名。如果服务器挂载了镜像,可以直接采用如下命令安装也可以。yuminstallssh。这里因为我的linux服务器已经安装SSH,就不在做安装操作了。
4、如何启动SSH服务
启动命令,servicesshdstart。停止命令,servicesshdstop。重启命令,servicesshdrestart。首先我们来看看SSH服务是否启动了,请执行如下命令即可,servicesshdstatus。如果想重新启动一下,可以执行重启命令,servicesshdrestart。具体执行情况请看下图。
5、怎么查看SSH端口是多少
执行如下命令,more/etc/ssh/sshd_config。就可以查看到有说明,默认端口为22,具体。另外端口是可以修改的。
6、如何配置开启SSH服务,有两种方案
1、关闭防火墙执行如下命令,serviceiptablesstop
2、就是放开22端口,vi/etc/sysconfig/iptables,在iptables文件中加上这一行即可,-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT。请看下图操作所示。
0条评论