Ⅰ linux操作系统下如何创建新用户远程登录
9/10 分步阅读
想要远程linux服务器,首先需要在服务器上开通ssh服务,安装命令如下:
sudo apt-get install openssh-server
2/10
在上图的提示中,输入“y”,继续等待安装,安装成功后如下图所示
3/10
启动ssh-server服务,默认情况下安装结束后就自动启动了,可以用下列命令进行确认:
ps -e |grep ssh,如果看到截图中的sshd说明ssh-server启动成功了
启动sshserver命令:service ssh start 或者sudo /etc/init.d/ssh start
关闭sshserver命令:service ssh stop
重启sshserver命令:service ssh restart
4/10
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如333。
设置成功后重启SSH服务:
sudo /etc/init.d/ssh sto
sudo /etc/init.d/ssh start
或者:service ssh restart
5/10
成功启动ssh-server后,应该是可以远程登录了,经过测试,普通帐号可以正常远程登录,root帐号不行,但root拥有超级权限,是我们所需要的,因此需要调整下配置文件,允许root也可以远程登录
6/10
开通root远程登录权限
vi /etc/ssh/sshd_config
将PermitRootLogin without-password 修改为PermitRootLogin yes
查看剩余1张图
7/10
执行命令service ssh restart,重启ssh-server
8/10
上述操作结束后,linux服务器上的配置已经结束了,成功开启了ssh-server,下面需要我们在win7系统上借助putty工具来远程访问,打开网络,从网络中下载该工具
9/10
该工具是个绿色文件,比较方便,启动该工具,输入linux服务器的IP地址,点击open
10/10
弹出了操作窗口,输入用户名,密码即可成功登录,使用root登录,也成功访问
Ⅱ Linux上实现SSH免交互登录
一、生成公钥私钥对 ssh-keygen
二、用 ssh--id user@id 将公钥复制到远程机器中
三、用 ssh user@id 登录验证
Ⅲ 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 [email protected]然后回车
这里 -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--id -p port user@remotr(ssh--id -p 22 [email protected])可以让远程服务器记住我们。
第三步,设置完成了,试一下是否能免密登录呢?
可以看到,当我们远程登陆deepin2时,并没有输入用户密码就登陆成功了!其实挺简单的不是吗?
Ⅳ linux 配置ssh有几种方法
直接使用Linux系 统的root帐户登录系统,在很多环境下是不允许。而且如果网络中的所有机器都能使用ssh登录关键服务器也是不允许的。这就要求我们需要使用一些手段, 现在root帐号的登录,而且是只有指定的几台机器才能登录。当然限制登录的ip这些通过网络设备也恩那个完成。但是我们只需要了解怎么使用系统自己的功 能实现,这是每一个系统管理员都比较了解的。
1,修改ssh的配置文件,是root用户只能通过本地登录,不能通过远程ssh连接服务器。
vim /etc/ssh/sshd_config,
把#PermitRootLogin yes改成
PermitRootLogin no,然后重启ssh服务器,root用户就不能通过ssh远程登录系统了,只能通过一个普通帐号su或者本地登录。
2,可以同修改其他系统配置文件,使之能通过几个指定的IP远程ssh登录服务器。把下面这段放到root的.bash_profile文件中
ALLOWHOSTSLIST="192.168.163.1"
REMOTEHOST=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
if echo "${ALLOWHOSTSLIST}" | grep "${REMOTEHOST}" > /dev/null
then :
else
exit
fi
结果就只能通过IP地址是192.168.163.1这台服务器通过ssh远程连接本服务器了。
3,可以把需要ssh远程服务器的IP地址添加到/etc/hosts.allow,例如下面的操作:
sshd:192.168.163.1:allow #只允许这个IP地址ssh登录
sshd:192.168.163.:allow #允许这个网段的所有IP地址ssh登录
sshd:all:deny #拒绝所有没有出现在上面的IP地址的ssh连接
4,也可以使用iptables指定能够远程ssh到服务器的IP地址
iptables -A INPUT -p tcp --dport 22 -s 192.168.163.1 -j ACCEPT #允许这个IP地址ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -s 192.168.163.0/24 -j ACCEPT #允许这个网段的所有IP远程ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -j DROP #除了上面允许的IP地址外,都拒绝使用ssh连接到服务器
Ⅳ linux怎样设置两台机器建立ssh
方法如下: 在一台linux的命令行输入ssh 另一台linux机器的ip 在返回界面选择yes,表示确认连接到另一台linux机器 按提示输入另一台机器的用户名和密码即可完成连接。
Ⅵ linux下安装ssh
(SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。)
安装SSH
具体步骤如下:
获得SSH软件包。 (ftp://ftp.pku.e.cn:/pub/unix/ssh-2.3.0.tar.gz)
成为超级用户(root).
# gzip –cd ssh-2.3.0.tar.gz |tar xvf –
# cd ssh-2.3.0
# ./configure
注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。
# make
# make install
和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。
二、配置
SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们:
# rm /etc/ssh2/hostkey*
# ssh-keygen2 –P /etc/ssh2/hostkey
而ssh2_config 文件一般情形下无需修改。
三、启动sshd2
每个要使用SSH的系统都必须在后台运行sshd2。用手工启动:
# /usr/local/bin/sshd2&
可以在“/etc/rc2.d/S99local”中加入该命令,这样系统每次启动时会自动启动sshd2。
四、用tcp_wrappers控制SSH
安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入
sshd,sshd2: 10.0.0.1
那么只有10.0.0.1可以通过ssh来访问该主机。
以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。
五、基本应用
每个用户在使用SSH之前,都要完成以下步骤:
在本地主机(比如,local.pku.e.cn)上生成自己的ssh公钥和私钥。命令如下:
local# ssh-keygen
Generating 1024-bit dsa key pair
1 oOo.oOo.o
Key generated.
1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05
Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。
Again :************ /*
Private key saved to /home1/teng/.ssh2/id_dsa_1024_a
Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub
生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保存在本地主机上,而公钥需传送到远地主机的你自己的帐号的~/.ssh2下,如果你要用ssh2访问本地主机的话。
在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下:
local:~/.ssh2# echo "IdKey id_dsa_1024_a" > identification
3.同样地,在远地主机(比如,remote.pku.e.cn)上完成上面步骤。
4.将本地(local.pku.e.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.e.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。
在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下:
remote:~/.ssh2# echo “Key local.pub” > authorization
现在你可以从本地用ssh2登录到远地系统了。命令如下:
local# ssh remote.pku.e.cn
Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa,
teng@ns, Fri Oct 20 2000 17:27:05":***********
这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。
Ⅶ linux下如何开通ssh,允许远程登录
ssh是可以代替telnet的一种远程管理的方式.并且具有安全\快捷等优点的一种服务.
方法一:进入Xwindows,在shell窗口执行setup命令,选择system service启动sshd服务.
方法二:在/etc/ssh/sshd_config文件中,将permitRootLogin no|yes设置为允许root用户远程登录
/etc/init.d/sshd start 启动ssh服务
/etc/init.d/sshd stop关闭服务
启动:
service sshd start
安装过程:
1.以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话)
2.检查安装系统时是否已经安装SSH服务端软件包:
rpm -qa|grep openssh
若显示结果中包含openssh-server-*,则说明已经安装,直接启动
sshd服务就可以了(service sshd start).(其中*的内容是该包的版本,一般为3.5p1-6)
若无任何显示,或显示中不包含openssh-server-*则说明没有安装SSH服务端软件包, 进入第3步
3.找到redhat 9.0 安装光盘,放入光驱中并加载光驱
mount -t iso9660 /dev/cdrom /mnt/cdrom (加载光驱命令)
4.查找光驱中的SSH服务端软件所在目录,一般在/mnt/cdrom/RedHat/RPMS/目录下,
可以先cd到该目录下再用ls查看,如:ls openssh*,然后根据上面具体显示直接安装
rpm -ivh openssh-3.5p1-6 (如果第二步中显示已经安装该包就不要安装)
rpm -ivh oeenssh-server-3.5p1-6
5.启动sshd服务 /etc/rc.d/init.d/sshd start
netstat -a | more看有没正常启动
如果出现:
tcp 0 0 *:ssh *:* LISTEN
就说明正常启动了
6.在windows 下用putty等SSH客户端软件连接测试,或直接在linux主机上输入
ssh 测试,但必须要先安装linux 下的SSH客户端软件包,即
openssh-clients-*,安装过程和上面的服务端包相同
7.若能成功远程登入,则说明SSH服务安装配置成功,
否则很可能就是你的防火墙阻止连接了,重新配置防火墙或干脆先停掉防火墙
(/etc/rc.d/init.d/iptables stop) 就可以连接了
或者service iptables stop
Ⅷ linux下怎样设置ssh无密码登录
在CentOS/RHEL上设置SSH免密码登录
导读 作为系统管理员,你计划在 Linux 上使用 OpenSSH,完成日常工作的自动化,比如文件传输、备份数据库转储文件到另一台服务器等。为实现该目标,你需要从主机 A 能自动登录到主机 B。自动登录也就是说,要在 shell 脚本中使用ssh,而无需要输入任何密码。
本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录。自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。
SSH 是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP 协议在网络上向另一台电脑传输文件。
通过配置 SSH 免密码登录,你可以享受到如下的便利:
◆用脚本实现日常工作的自动化。
◆增强 Linux 服务器的安全性。这是防范虚拟专用服务器(VPS)遭受暴力破解攻击的一个推荐的方法,SSH 密钥单凭暴力破解 是几乎不可攻破的。
什么是 Ssh-Keygen
ssh-keygen 是一个用来生成、创建和管理 SSH 认证用的公私钥的工具。通过 ssh-keygen 命令,用户可以创建支持SSH1 和 SSH2 两个协议的密钥。ssh-keygen 为 SSH1 协议创建 RSA 密钥,SSH2 则可以是 RSA 或 DSA。
什么是 Ssh-Copy-Id
ssh--id 是用来将本地公钥拷贝到远程的 authorized_keys 文件的脚本命令,它还会将身份标识文件追加到远程机器的 ~/.ssh/authorized_keys 文件中,并给远程主机的用户主目录适当的的权限。
SSH 密钥
SSH 密钥为登录 Linux 服务器提供了更好且安全的机制。运行 ssh-keygen 后,将会生成公私密钥对。你可以将公钥放置到任意服务器,从持有私钥的客户端连接到服务器的时,会用它来解锁。两者匹配时,系统无需密码就能解除锁定。
在 CentOS 和 RHEL 上设置免密码登录 SSH
以下步骤在 CentOS 5/6/7、RHEL 5/6/7 和 Oracle Linux 6/7 上测试通过。
节点1:192.168.0.9 节点2 : 192.168.0.10
本章目录结构 [收起]
步骤一 :
步骤二:
步骤三:
步骤四:
步骤一 :
测试节点1到节点2的连接和访问:
[root@node1 ~]# ssh [email protected]
The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.
RSA key fingerprint is 6d:8f:63:9b:3b:63:e1:72:b3:06:a4:e4:f4:37:21:42.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.10' (RSA) to the list of known hosts.
[email protected]'s password:
Last login: Thu Dec 10 22:04:55 2015 from 192.168.0.1
[root@node2 ~]#
步骤二:
使用 ssh-key-gen 命令生成公钥和私钥,这里要注意的是可以对私钥进行加密保护以增强安全性。
[root@node1 ~]# ssh-keygen
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_rsa.pub.
The key fingerprint is:
b4:51:7e:1e:52:61:cd:fb:b2:98:4b:ad:a1:8b:31:6d [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| . ++ |
| o o o |
| o o o . |
| . o + .. |
| S . . |
| . .. .|
| o E oo.o |
| = ooo. |
| . o.o. |
+-----------------+
步骤三:
用 ssh--id 命令将公钥复制或上传到远程主机,并将身份标识文件追加到节点2的 ~/.ssh/authorized_keys 中:
[root@node1 ~]# ssh--id -i ~/.ssh/id_rsa.pub 192.168.0.10
[email protected]'s password:
Now try logging into the machine, with "ssh '192.168.0.10'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
步骤四:
验证免密码 SSH 登录节点2:
[root@node1 ~]# ssh [email protected]
Last login: Sun Dec 13 14:03:20 2015 from www.ehowstuff.local
网络搜索《linux就该这么学》,技术干货里面有,也可以看下这本书!