login_name 인수없이 ssh를 실행하면 자동으로 로컬 사용자 이름을 login_name으로 사용합니다. 예를 들면 다음과 같습니다.
cogan@localhost$ ssh myserver
cogan@myserver's password:
ssh가 login_name을 요구하도록 강제하는 방법이 있습니까?
답변
OpenSSH에 대해 이야기한다면 대답은 아니오입니다 ( 소스를 확인할 수 있습니다 ). @cnicutar가 지적한 것처럼 , 라인을 따라 ssh user@host
별칭을 사용 하거나 구성 할 수 있습니다.ssh/config
Host meh
HostName foo
User bar
다음 ssh meh
.
답변
ssh
사용자 이름 프롬프트를 강제 할 수있는 옵션이 없기 때문에 ; ~/bin
디렉토리에 다음 스크립트를 작성 하고 이름을 지정할 수 있습니다 ssh
.
#!/usr/bin/perl
my $user_at_address = $ARGV[0];
my @u_a = split(/@/, $user_at_address);
if (defined $u_a[1])
{
if ( $^O == 'linux' )
{
exec ("/usr/bin/ssh $u_a[0]\@$u_a[1]");
}
if ( $^O == 'solaris' )
{
exec ("/usr/local/bin/ssh $u_a[0]\@$u_a[1]");
}
}
else
{
print "Enter your username: ";
my $username = <STDIN>;
chomp ( $username );
if ( $^O == 'linux' )
{
exec ("/usr/bin/ssh $username\@$u_a[0]");
}
if ( $^O == 'solaris' )
{
exec ("/usr/local/bin/ssh $username\@$u_a[0]");
}
}
그런 다음 스크립트를 실행 가능하게 만드십시오.
chmod 755 ~/bin/ssh
되어 있는지 확인하십시오 $HOME/bin
당신에 PATH
(풋 export PATH=$HOME/bin:$PATH
에 ~/.bashrc
나 /etc/bashrc
와 source ~/.bashrc
나 source /etc/bashrc
).
그런 다음 원하는대로 실행하십시오 ssh
.
[ 12:49 jon@hozbox ~ ]$ ssh localhost
Enter your username: bob
bob@localhost's password:
[ 12:50 bob@hozbox /home/bob ]$
답변
나는 그렇게 생각하지 않습니다-그렇다면 .sshconfig를 통해 이루어집니다
http://linux.die.net/man/5/ssh_config
사용자의 행동을보기 위해 사용자를 불법으로 설정할 수 있습니다.
답변
이것은 @meh의 답변에 대한 적응입니다.
쉘 스크립트에서 사용자 이름을 입력하라는 메시지가 표시됩니다.
ssh에 대한 후속 호출에서 사용자 이름을 전달합니다.
다음에서 실행 uptime
됩니다 contosso.com
.
sshhost=contosso.com
read -p "$sshhost user [$USER]: " sshuser
[ "$sshuser" == "" ] && sshuser=$USER
ssh $sshuser@$sshhost uptime
다음은 샘플 출력입니다.
$ ./run-script.sh
contosso.com user [stephen]: billgates
billgates@contosso.com password:
10:57:12 up 71 days, 1:01, 2 users, load average: 0.00, 0.04, 0.05
$
답변
그래서 같은 문제가 발생했습니다. 나는 cmd를 사용하고 있었다
ssh "IP address"
ssh 000.000.000.0
그리고 존재하지 않는 사용자 (내 컴퓨터 이름)의 비밀번호를 즉시 요청했습니다.
정말 간단한 수정은이 명령을 대신 사용하십시오.
ssh root@"IP address"
ssh root@000.000.000.0
root는 원하는 사용자 이름으로 바꿀 수 있습니다. 그러면 서버가 원하는 사용자 이름에 대한 암호를 묻는 메시지를 표시합니다.