当前位置:首页 » 操作系统 » linux生成ssh

linux生成ssh

发布时间: 2022-11-26 07:09:27

‘壹’ 怎样在虚拟机的linux中安装ssh

一楼说的,前一半对,后一半不太对(不叫做安装SSH)x0dx0a通常SSH会在你装系统时就装好,顶多有的系统会在即将安装完时会有一个提示询问你是否在开机时启动SSH服务而已x0dx0ax0dx0aSSH开启后会有一个进程SSHD在运行,可以用netstat -nap 命令查询得到,例如:x0dx0a$ netstat -nap | grep -i sshdx0dx0atcp 0 0 :::22 :::* LISTEN 29391/sshdx0dx0ax0dx0a客户端若想通过SSH协议以user身份登录某一台服务器(比如IP地址为1.2.3.4),则可以x0dx0assh [email protected]若SSHD的监听端口不是默认的22端口,假设已改为1234端口,则可以这样x0dx0assh -p 1234 [email protected]是SSH软件包中的一个子程序,用来生成密匙对,使你的登录更为安全(防止“中间人”攻击)x0dx0a更多资料自已查x0dx0ax0dx0aSSH相关文件(常见)x0dx0a/usr/sbin/sshd SSHD服务端的服务程序x0dx0a/usr/bin/ssh SSH客户端x0dx0a/usr/bin/ssh-keygen 这个上面说过x0dx0a/usr/bin/ssh-keyscan 看名字可以猜到x0dx0a/etc/ssh/ssh_config 客户端配置文件x0dx0a/etc/ssh/sshd_config 服务端配置文件

‘贰’ 如何在linux系统上定制ssh来简化远程访问

可以设置SSH免密登录。在Linux中打开ssh验证,主机中生成公钥,发送给从机,从机将公钥添加到权限验证中,这样主机可以通过ssh直接登录从机

‘叁’ linux清除ssh重新生成会覆盖原有的嘛

会。在linux系统中清除ssh文件后,如果需要恢复该文件的使用,可以对其进行重新生成,并且该文件会覆盖掉之前原有的旧文件。

‘肆’ linux下怎么样设置ssh无密码登录

1.Linux下生成密钥
ssh-keygen的命令手册,通过”man ssh-keygen“命令:

通过命令”ssh-keygen -t rsa“

生成之后会在用户的根目录生成一个 “.ssh”的文件夹

进入“.ssh”会生成以下几个文件

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub :生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
2.远程免密登录
原理图:

常用以下几种方法:
2.1 通过ssh--id的方式
命令: ssh--id -i ~/.ssh/id_rsa.put <romte_ip>
举例:
[root@test .ssh]# ssh--id -i ~/.ssh/id_rsa.pub 192.168.91.135
[email protected]'s password:
Now try logging into the machine, with "ssh '192.168.91.135'", andcheck in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@test .ssh]# ssh [email protected]
Last login: Mon Oct 10 01:25:49 2016 from 192.168.91.133
[root@localhost ~]#
常见错误:
[root@test ~]# ssh--id -i~/.ssh/id_rsa.pub 192.168.91.135
-bash: ssh--id: command not found //提示命令不存在
解决办法:yum -y installopenssh-clients

2.2通过scp将内容写到对方的文件中
命令:scp -p~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
举例:
[root@test .ssh]# scp -p ~/.ssh/[email protected]:/root/.ssh/authorized_keys
[email protected]'s password:
id_rsa.pub 100% 408 0.4KB/s 00:00
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]# ssh [email protected]
Last login: Mon Oct 10 01:27:02 2016 from 192.168.91.133

[root@localhost ~]#

也可以分为两步操作:
$ scp ~/.ssh/id_rsa.pubroot@<remote_ip>:pub_key //将文件拷贝至远程服务器
$ cat ~/pub_key>>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中,不过要登录远程服务器来执行这条命令
2.3 通过Ansible实现批量免密
2.3.1 将需要做免密操作的机器hosts添加到/etc/ansible/hosts下:
[Avoid close]
192.168.91.132
192.168.91.133
192.168.91.134

2.3.2 执行命令进行免密操作

ansible<groupname> -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub') }}'" -k

示例:
[root@test sshpass-1.05]# ansible test -m authorized_key -a"user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
SSH password: ----->输入密码
192.168.91.135 | success >> {
"changed": true,
"key": "ssh-rsa 7A3izwT3///18B6FV5moE/8yTbFA4dBQahdtVP +sODbtGPC34HMGAHjFlsC/SJffLuT/ug/== [email protected]",
"key_options": null,
"keyfile": "/root/.ssh/authorized_keys",
"manage_dir": true,
"path": null,
"state": "present",
"unique": false,
"user": "root"
}
[root@test sshpass-1.05]#

2.4 手工复制粘贴的方式

将本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/authorized_keys文件中

‘伍’ linux如何配置双机SSH信任然后双向免密码登陆

一、实现原理
使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:
首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。
二、实验环境
A机:TS-DEV/10.0.0.163
B机:CS-DEV/10.0.0.188
三、Linux/Unix双机建立信任
3.1
在A机生成证书
在A机root用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。
#
ssh-keygen
-t
rsa
注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。
3.2
查看~/.ssh生成密钥的文件
#
cd
~/.ssh
#
ll
3.3
A对B建立信任关系
将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys,此时需要输入B机的root用户密码(还未建立信任关系)。建立了客户端到服务器端的信任关系后,客户端就可以不用再输入密码,就可以从服务器端拷贝数据了。
#
scp
-r
id_rsa.pub
10.0.0.188:/root/.ssh/authorized_keys
3.4
B对A建立信任关系
在B机上执行同样的操作,建立B对A的信任关系。
#
ssh-keygen
-t
rsa
#
cd
~/.ssh/
#
ll
#
scp
-r
id_rsa.pub
10.0.0.163:/root/.ssh/authorized_keys
如果想让B,C同时可以scp不输入密码,传输A中的数据;
则要把B、C的公钥都给
A;
操作步骤:把两机器的id_rsa.pub中的数据都拷贝到A的/root/.ssh/authorized_keys文件中,一行表示一条;
A:
scp
-r
id_rsa.pub
10.0.0.163:/root/.ssh/authorized_keys
B:
scp
-r
id_rsa.pub
10.0.0.188:/root/.ssh/authorized_keys
测试
ssh
[email protected]
'hostname'
///
ssh
[email protected]
'hostname'
如果连接反应慢,请修改以下两参数
/etc/ssh/sshd_config
GSSAPIAuthentication
no
UseDNS
no
然后重启service
sshd
restart

‘陆’ Linux 下实现SSH互信

一、准备两台服务器:

A机:192.168.1.1

B机:192.168.1.2

二、双机建立信任

1、在A机生成秘钥证书

在root下执行ssh-keygen命令,一路回车,生成秘钥证书

# ssh-keygen  -t  rsa  

2、查看生成秘钥文件

# cd ~/.ssh  

# ll

文件:私钥证书id_rsa、公钥证书id_rsa.pub

3、A对B建立信任关系

3.1 将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys

# scp -r id_rsa.pub [email protected]:/root/.ssh/authorized_keys

3.2 若3.1报错:No such file or directory

使用:# ssh--id -i id_rsa.pub [email protected]

ssh--id命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中

3.3 查看B机器是否接收

# ssh 192.168.1.2  

# cd .ssh/   

# ls   

# cat authorized_keys

# exit

3.4 B对A建立信任,同上3的操作步骤

‘柒’ 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主机上。

‘捌’ 如何生成SSH key

因为在使用repo git下载代码时需要使用ssh方式,目前下载代码的方式不支持密码方式,仅支持ssh-key的方式,那么需要下载代码的用户请根据以下方法在本地生成ssh-key,然后将对应的证书文件发送给版主或者管理员,当获取下载代码权限后可以直接下载; 访问权限的设定,新的git库采用证书认证的方式,请在你们的本机上执行: # ssh-keygen 根据提示输入信息后会在~/.ssh目录下生成id_rsa.pub文件和id_rsa文件。请将id_rsa.pub文件发给我(版主)。然后在使用ssh的时候使用id_rsa证书。 linux和MacOS使用ssh登录时会自动提供生成的ssh证书。windows上可以考虑使用xshell或者putty创建证书。 目前没有提供密码登录。

热点内容
什么配置的车标好 发布:2025-05-17 21:41:20 浏览:203
linux支持线程 发布:2025-05-17 21:26:14 浏览:184
元神队伍配置都由什么组成 发布:2025-05-17 21:20:18 浏览:477
闲鱼和安卓哪个赚钱 发布:2025-05-17 21:15:56 浏览:584
c语言一个c源程序 发布:2025-05-17 21:11:44 浏览:315
如何加密手机的文件 发布:2025-05-17 21:11:43 浏览:917
ios开发文件上传 发布:2025-05-17 21:10:40 浏览:984
g92编程 发布:2025-05-17 21:00:31 浏览:171
汇编语言第三版脚本之家 发布:2025-05-17 20:54:26 浏览:400
资源配置最佳状态叫什么 发布:2025-05-17 20:48:58 浏览:86