对于很多新手来说,如何用Windows远程Linux操作系统,是个前进的大问题。如果这个问题前进不了,其他更别说了。
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了忻城免费建站欢迎大家使用!
Linux或Max
OS
X系统电脑,登录步骤为:
1.打开ssh客户端
2.用户名:root
3.服务器:
输入服务器的IP
端口默认为22
4.输入服务器密码进行登录
Windows系统电脑,登录步骤为:
一.下载Putty,它是一款远程连接工具。直接下载
该工具是免费的,且不需要安装,建议到官网下载
。
二、启动Putty.exe程序,进入Putty主界面。
1、在Putty
“Host
Name”输入IP地址,点击“Open”进行连接。
2、如果经常使用,输入IP后在Saved
Session中输入希望保存的名字,点击“Save”;
3、Port(端口)默认为22
4、初次运行时,会有下图中的提示,请选择“是(Y)”,下次运行就不会再出现该提示信息了。
三、输入账号密码
1、login
as:
这里是输入账号
2、root@192.168.1.10's
password:
这里是输入密码(密码不会显示在屏幕上,输入完成后回车即可。)
3、[root@localhost
~]#
这样就代表登陆成功
Linux的远程桌面应该分两个部分,首先是Linux客户机连Linux服务器,接着是windows客户机连Linux服务器,还有现在用平板电脑连远程桌面。Linux客户机连Windows服务器其实没啥可说的,rdesktop和termianl
server比起windows自带的“远程桌面连接”。
命令:
1.
nfs,telnet等均可登录,即将远程的那个配置成主机服务器,这边作为客户机登录.
比如:telnet
telnet
192.168.1.123
说明:192.168.1.123就是远程的Ip地址
2.
现在设想登录到远程主机rhostname上,运行gimp
程序,并把它的显示输出到本机的屏幕上,那么需要依次执行以下操作:
1.启动X
服务器
#
xhost
+rhostname
(允许远程rhostname
机使用本机的X
Server)
2.telnet
(或ssh)登录远程主机
#
telnet
rhostname
3.设置DISPLAY
环境变量
指定了一个显示设备,所有的图形程序都将显示到这个设备。
DISPLAY
的格式为:hostname:displaynumber.screennumber。
hostname是本机主机名,或者是它的I
P
地址。一般d
i
s
p
l
a
y
n
u
m
b
e
r
、screennumber
都是0。
#
echo
$SHELL
如果返回的是
/bin/ksh,那么可以用:#
export
DISPLAY=
本机的IP
地址:0.0
如果返回的是
/bin/csh,那么可以用:#
setenv
DISPLAY
本机的IP地址:0.0
如果返回的是
/bin/bash,那么可以用:#
DISPLAY=
本机的IP
地址:0.0
#
export
DISPLAY
4.启动gimp
程序
#
gimp
语法:telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主机名称或IP地址]
补充说明:执行telnet指令开启终端机阶段作业,并登入远端主机。
参数:
-8 允许使用8位字符资料,包括输入与输出。
-a 尝试自动登入远端系统。
-b 使用别名指定远端主机名称。
-c 不读取用户专属目录里的.telnetrc文件。
-d 启动排错模式。
-e 设置脱离字符。
-E 滤除脱离字符。
-f 此参数的效果和指定"-F"参数相同。
-F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
-k 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
-K 不自动登入远端主机。
-l 指定要登入远端主机的用户名称。
-L 允许输出8位字符资料。
-n 指定文件记录相关信息。
-r 使用类似rlogin指令的用户界面。
-S 设置telnet连线所需的IP TOS信息。
-x 假设主机有支持数据加密的功能,就使用它。
-X 关闭指定的认证形态。
source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令。注:该命令通常用命令“.”来替代。如:source .bash_rc 与 . .bash_rc 是等效的。注意:source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,另外你要是想学习Linux技术的话,推荐踏实看完《Linux就该这么学》这本书,保准成高手了。
可以通过ssh命令连接。
命令使用语法:
1,指定用户:
ssh -l root 192.168.0.11或则
ssh root@192.168.0.11
2,如果修改过ssh登录端口的可以:
ssh -p 12333 192.168.0.11
ssh -l root -p 12333 192.168.0.11
ssh -p 12333 root@192.168.0.11
连接步骤:
1,打开终端。
2,一般情况下使用ssh +目标地址即可,测试连接本机:
ssh 127.0.0.1
3,首次登陆会提示你是否确认连接
输入yes,连接成功。
4,连接其他账户或者计算机需要输入密码才能连接。
最近在编写脚本的时候发现一个问题,在执行 kubectl -n kube-system get pods 这个命令的时候,通过 ssh root@ip command 和 ssh root@ip command 登录后执行得到了不同的结果,
从上面可以看到SSH远程执行获取pods失败了,但是shell窗口执行却成功了,所以我们可以猜到两者之间一定有什么区别导致结果的不同。那么区别在哪里呢?通过研究发现两者的环境变量存在区别,通过执行printenv可以查看所有设置的环境变量:
通过上面可以看到SSH远程执行的时候是没有KUBECONFIG这个环境变量,而Shell窗口是有的,为什么有这个区别呢?这就要从Linux的bash的四种模式说起。
bash的四种模式:
从上面可以看出不同方式下加载的配置文件不同,那么怎么知道我们是加载了那些配置文件呢? 这里有一个验证的方法,就是在上面的每个配置文件中添加一句 echo $/etc/profile 这样的命令,把每个文件的路径打印出来。当配置文件被加载时,会输出相应的文件名,本例中在两个文件中加了该命令:/etc/pfoile, ~/.bashrc,然后使用不同SSH方式执行命令的结果如下。
只加载了.bashrc文件,未加载/etc/profile。
从输出可以看到两个配置都加载了,而KUBECONFIG只定义在/etc/profile中,没有定义在.bashrc文件中,所以通过 ssh root@ip command 执行时没有拿到KUBECONFIG这个环境变量从而导致报错。知道原因后我们就可以将KUBECONFIG环境变量添加到.bashrc文件即可。