
正文
linuxssh发命令 linux命令行ssh
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Linux系统下如何配置SSH?如何开启SSH?
1、如何查看linux操作系统版本
打开linux终端命令行,输入如下命令即可。lsb_release-a。采用的是实体机服务器,操作系统为redhat6.7,详细请看下图。
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。请看下图操作所示。
相关问答
Q1: linux之ssh命令详解
ssh是什么呢? 👉百科上是这么说的
简单来说,在linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器。那么ssh协议的优点就是数据传输是加密的,可以防止信息泄露,而且数据传输是压缩的,可以提高传输速度。
它的命令格式是👉 ssh [-p port] user@remote
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是IP/域名,或者是别名
port 是SSH Server监听的端口,如果不指定,就为默认值22
(使用exit退出当前用户的登录)
有关SSH配置信息都保存在用户家目录下的.ssh目录下
接下来,我们就来实际演示一下ssh命令的使用
首先我们需要两台linux系统的电脑来进行演示,所以我用虚拟机安装了两个linux的系统,分别命名为Deepin1和Deepin2(不得不说deepin真的是即好看又好用😄)
不过deepin操作系统默认ssh是没有开启的,我们需要手动将它开启。
第一步,在终端输入sudo apt-get install ssh安装ssh服务
第二步,在终端中输入sudo service ssh start开启ssh服务
注意:deepin1和deepin2都要执行上面两步来安装和开启ssh服务
安装并打开ssh之后,我们使用Deepin1来远程连接Deepin2,那么我们需要知道Deepin2的ip地址,在终端中输入ifconfig就可以知道当前机器的ip地址了,或者也可以直接把鼠标放到网络连接上,会直接显示出来。我这里Deepin2的IP地址为:192.168.56.132
然后,我们在Deepin1的终端中输入ssh -p 22 deepin2@192.168.56.132然后回车
这里 -p 22 可以省略,22表示ssh的端口号为22, deepin2 为Deepin2的用户名, 192.168.56.132 为Deepin2的ip地址。
第一次连接,会弹出来是否连接的确认信息,我们输入yes确认,然后输入deepin2的密码并回车。出现如下界面就表示连接成功了。
连接成功后,我们尝试输入 cd Desktop/ 切换到桌面目录,然后输入 touch 123.txt 在桌面下创建123.txt文件
我们再切换到Deepin2系统中,发现桌面上的确出现了一个新的文件123.txt,大功告成!
到这里ssh的基本操作其实已经演示完了,但是我们发现每次远程登陆的时候都需要重新输入密码,稍微有点麻烦,其实我们可以通过设置,进行免密码登录。
免密登录:
第一步,配置公钥。在Deepin1终端中执行ssh-keygen即可生成SSH钥匙,一路回车即可。
第二步,上传公钥到服务器。在Deepin1终端中执行ssh-copy-id -p port user@remotr(ssh-copy-id -p 22 deepin2@192.168.56.132)可以让远程服务器记住我们。
第三步,设置完成了,试一下是否能免密登录呢?
可以看到,当我们远程登陆deepin2时,并没有输入用户密码就登陆成功了!其实挺简单的不是吗?
Q2: Linux配置ssh
1、购买服务器
2、加入安全组
3、修改实例名称,修改实例密码
1 查看ssh配置
2 安装SSH
3 启动服务
4 查看ssh服务的状态
输入以下命令:
5 在电脑终端输入
1.添加文件
2.添加公钥到文件内(id_rsa.pub)
3.编辑ssh配置文件:
4.重启sshd服务
5 在电脑终端输入
常见错误:
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:sbd8mG3CPJc81mLgPPwLwVy7LF8qvUUuXisbcPKzTyE.
Please contact your system administrator.
Add correct host key in /Users/admin/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/admin/.ssh/known_hosts:12
ECDSA host key for 47.96.118.128 has changed and you have requested strict checking.
Host key verification failed.
解决办法如下 输入
然后重新连接即可。
Q3: Linux-两种ssh远程执行命令方式加载环境变量区别
最近在编写脚本linuxssh发命令的时候发现一个问题,在执行 kubectl -n kube-system get pods 这个命令的时候,通过 ssh root@ip command 和 ssh root@ip command 登录后执行得到linuxssh发命令了不同的结果,
从上面可以看到SSH远程执行获取pods失败linuxssh发命令了,但是shell窗口执行却成功了,所以我们可以猜到两者之间一定有什么区别导致结果的不同。那么区别在哪里呢linuxssh发命令?通过研究发现两者的环境变量存在区别,通过执行printenv可以查看所有设置的环境变量linuxssh发命令:
通过上面可以看到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文件即可。
linuxssh发命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux命令行ssh、linuxssh发命令的信息别忘了在本站进行查找喔。








